`
bkship
  • 浏览: 47852 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java 基本的文件操作

 
阅读更多
好吧,我基础真的很不扎实。

基本的文件操作都不熟,那么多总结,多积累吧!

直接上传工具类,不多说,好多东西都是自己程序里面,没怎么改。
public final static String FILE_NAME="your filepath";
	public static void writeDefaultFolderFile(List<FileInfo> listFoler) throws IOException{
		
		Log.e("writeInfo", "writeInfo");
		
		OutputStream fis = new FileOutputStream(new File(FILE_NAME));
		StringBuffer sb = new StringBuffer();
		for(int i = 0;i < listFoler.size();i++){
			sb.append( listFoler.get(i).folderName);
			sb.append("--");
			sb.append(listFoler.get(i).folderPath);
			sb.append("\r\n");
			//Log.e("","write:"+i);
		}
		fis.write(sb.toString().getBytes("utf_8"));
		fis.flush();	
		fis.close(); 
	}
	
	/**
	 * 这些函数只能我看咯,你们不知道这是用来做啥的!fileInfo我也没写 - -!
	 */
	public static List<FileInfo> readDefaultFolderFile(){
		//
		List<FileInfo> listFolder = new ArrayList<FileInfo>();
		Log.e("readInfo","readInfo");
		 try 
	      {
			 FileReader reader = new FileReader(FILE_NAME);
			 BufferedReader br = new BufferedReader(reader);
			 String item = br.readLine();
			 if(null == item || item.trim().equals("")){
				 return null;
			 }
			 
			 FileInfo folderInfo = null;
			 do {
				 Log.e("readDefaultFolderFile()", "folderItem:"+item);
				try {
					folderInfo = new FileInfo();
					String temp[] = item.split("--");
					folderInfo.folderName = temp[0];
					folderInfo.folderPath = temp[1];
					listFolder.add(folderInfo);
				} catch (Exception e) {
				}
				
			}while((item = br.readLine()) != null && !item.equals(""));
			 br.close();
			 reader.close();
	    }
	    catch(IOException e)
	    {
	     e.printStackTrace();   
	    }
		return listFolder;
	}
	
	/**
	 *创建文件夹 */
	public static void createDefaultFolderFile(){
		Log.e("createPrefFile", "createPrefFile");
		File f = new File(FILE_NAME);
		if(f.exists() == false){
			try {
				f.createNewFile();
			} catch (IOException e) {
			}
		}
	}
	
	
	/**
	 * 判断文件是否存在
	 */
	public static boolean isDefaultFolderFileExist(){
		File f = new File(FILE_NAME);
		if(f.exists() == false){
			return false;
		}else{
			return true;
		}
			
	}
	
	/**
	 * 删除文件	 */
	public static void deleteDefaultFolderFile(){
		File f = new File(FILE_NAME);
		f.delete();
		Log.e("deletePrefFile", "deletePrefFile");
	}	
	
	public final static String MY_FOLDER_PATH = "/mnt/sdcard/MyFolder";
	/**
	 * 新建文件夹
	 */
	
	public static void createNewFolder(Context ctx, String folderName) {
		File folder = new File(MY_FOLDER_PATH +"/"+ folderName);
		Log.e("bkship", "folderPath:" + folder.getPath());
		if (!folder.exists()) {
			boolean createOk = folder.mkdirs();

			if (createOk) {
				showToast("文件夹:"+folderName+"已创建。", ctx);
			} else {
				showToast("文件夹名称不合法!", ctx);
			}
		}
	}
	
	/**
	 * 重命名文件夹
	 * @param folderPath
	 * @param newFolderName
	 * @param ctx 
	 */
	public static void renameFolder(String folderPath,String newFolderName, Context ctx) {
		File folder = new File(folderPath);
		String path = folder.getAbsolutePath();
		File newFolder = new File(path.substring(0, path.lastIndexOf("/")+1)+newFolderName);
		if(folder.renameTo(newFolder) == true){
			showToast("重命名成功。", ctx);
		}else{
			showToast("名称不合法。", ctx);
		}
			
	}
	  

	/**
	 * 删除文件夹
	 * @param ctx
	 * @param folderPath
	 */
	public static void deleteFolder(Context ctx, String folderPath) {
		File folder = new File(folderPath);
		String[] fileList = folder.list();
		if (isFolderEmpty(folderPath) == true) {
			if (!folder.delete()) {
				showToast("Fail,Delete folder", ctx);
				return;
			}
		} else {
			for (int i = 0; i < fileList.length; i++) {
				String fileName = fileList[i];
				String filePath = folderPath + File.separator + fileName;
				File file = new File(filePath);
				if (file.exists() && file.isFile()) {
					if (!file.delete()) {
						showToast("Fail,Delete folder", ctx);
						return;
					}
				} else if (file.exists() && file.isDirectory()) {
					deleteFolder(ctx, filePath);
				}
			}
			if (!folder.delete()) {
				showToast("文件夹删除失败。", ctx);
				return;
			}
		}
		showToast("删除成功。", ctx);

	}

	/**
	 * 判断文件夹是否为空
	 * 
	 * @param folderPath
	 * @return
	 */
	public static boolean isFolderEmpty(String folderPath) {
		File folder = new File(folderPath);
		String[] fileList = folder.list();
		if (null == fileList || fileList.length == 0) {
			return true;
		}
		return false;

	}

	/**
	 * 拷贝文件
	 */
	static String filePathForCopy;
	public static void copyFile(String filePath) {
		filePathForCopy = filePath;
	}

	/**
	 * 粘贴文件操作
	 * 
	 * @param filePath
	 * @param folderPath
	 * @throws IOException
	 */
	public static void plastFile(String filePath, String folderPath)
			throws IOException {
		byte[] buffer = new byte[1024 * 8];

		File file = new File(filePath);
		FileInputStream fis = new FileInputStream(file);
		String fileName = file.getName();
		Log.e("fileName", "fileName:" + fileName);
		File newFile = new File(folderPath + File.separator + fileName);

		if (newFile.exists()) {
			newFile.delete();
		}
		newFile.createNewFile();

		FileOutputStream fos = new FileOutputStream(newFile);
		int read = 0;
		while ((read = fis.read(buffer)) > 0) {
			fos.write(buffer, 0, read);
			fos.flush();
		}

		if (null != fis) {
			fis.close();
		}
		if (null != fos) {
			fos.close();
		}
		buffer = null;
	}

	/**
	 * 移动文件到指定目录
	 * 
	 * @param filePath
	 * @param folderPath
	 */
	public static void moveFile(String filePath, String folderPath) {
		try {
			plastFile(filePath, folderPath);
		} catch (IOException e) {
			e.printStackTrace();
		}
		File file = new File(filePath);
		if (file.delete()) {
//			Log.e("bkship", "Successfully,move file to folder!");
			
		}
	}

	/**
	 * showToast
	 * @param str
	 * @param ctx
	 */
	public static void showToast(String str, Context ctx) {
		Toast.makeText(ctx, str, Toast.LENGTH_SHORT).show();
	}
	
	/**
	 * 将MyFolder文件夹中文件夹信息放到List中
	 * @return
	 */
	
	public static List<FileInfo> getMyFolderList(){
		List<FileInfo> listFolder = new ArrayList<FileInfo>();
		File folder = new File(MY_FOLDER_PATH);
		if(folder.exists() == false){
			boolean	createOk = folder.mkdirs();
			Log.e("","creat MyFolder:"+createOk);
			return listFolder;
		}
		File[] files = folder.listFiles();
		FileInfo fileInfo;
		if(files != null){
			for(int i = 0;i<files.length;i++){
				File file = files[i];
				if(file.isDirectory() == true){
					fileInfo = new FileInfo();
					fileInfo.folderName = file.getName();
					fileInfo.folderPath = file.getAbsolutePath();
					fileInfo.isFolder = true;
					
					listFolder.add(fileInfo);
				}
			}
		}
		return listFolder;
	}
	
	public static boolean isFolderNameExist(String str){
		File folder = new File(MY_FOLDER_PATH);
		File[] files = folder.listFiles();
		for(int i = 0;i<files.length;i++){
			if(files[i].getName().equals(str)){
				return true;
			}
		}
		return false;
	}

分享到:
评论

相关推荐

    java 操作文件工具类 java 操作文件工具类

    java 操作文件工具类java 操作文件工具类 java 操作文件工具类java 操作文件工具类java 操作文件工具类 java 操作文件工具类java 操作文件工具类java 操作文件工具类 java 操作文件工具类java 操作文件工具类java ...

    java文件操作类

    java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java...

    java实现文件的读写操作

    在Java编程语言中,文件的读写操作是日常开发中不可或缺的部分。...通过上述介绍和示例,你应该对Java的文件操作有了基本的认识。实践中,你可以根据具体需求选择合适的方法和类,实现灵活多样的文件处理功能。

    java properties文件操作工具类,可追加修改

    此工具类只用于Java后端在操作Properties文件的时候写的工具类,方便properties文件的存取操作

    java实现对文件的各种操作的工具类.md

    # java实现对文件的各种操作的工具类 ## 可以实现的操作有: 1. 删除单个文件 2. 删除文件夹及文件夹下的文件 3. 使用文件流对单个文件进行复制 4. 复制整个文件夹内容(包含子文件夹中的所有内容) 5. ...

    java视频教程—Java文件操作

    java视频教程 Java文件操作 JavaFile

    JAVA代码实现远程操作服务器文件

    Session是一个远程服务器文件操作的会话,可以实现文件的移动、复制、删除等操作。通过使用Session,可以实现远程服务器文件的操作。 6. 使用InputStream和BufferedReader实现命令执行结果的获取 InputStream和...

    java 移动文件.

    Java 文件操作是 Java 编程语言中的一种基本操作,包括文件的移动、复制、删除、剪切等。下面是关于 Java 文件操作的知识点总结: 一、文件移动 文件移动是指将文件从一个目录下移到另一个目录下。在 Java 中,...

    Java 上传文件到 SharePoint

    首先,我们需要了解Java中用于文件操作的基本类,如`java.io.File`,它提供了创建、读取、写入和删除文件的方法。此外,为了与SharePoint交互,我们需要使用Microsoft提供的客户端对象模型(Client Object Model,...

    java通过文件头内容判断文件类型

    在Java编程中,判断文件类型通常不是通过文件扩展名,而是通过读取文件的头部字节来识别。这是因为有些文件可能...理解并掌握这个方法,能够帮助我们在实际开发中更好地处理各种文件操作,提高程序的健壮性和安全性。

    Java文件操作封装类

    Java文件操作封装类

    java文件读写操作

    这个文件里面包含了java的IO流对文件的操作和java通道加内存映射对文件操作的源码

    JAVA实现文件操作(删除,创建,写入,读取)

    J2SE(Java Standard Edition)是Java平台的标准版,包含了用于开发桌面应用的基本功能,包括文件操作API。在J2SE中,`java.io`包提供的类提供了丰富的文件操作功能,适用于日常的文件操作需求。 6. **异常处理**...

    java文件操作工具类

    java文件操作工具类是java中针对文件操作的一个工具类,可以方便的读取,下载,上传文件等操作,希望可以帮到大家。

    java 连接 FTP 文件操作(上传,下载,删除,复制

    以上就是使用Java连接FTP服务器进行文件操作的基本步骤。通过这种方式,开发者可以构建自己的FTP客户端应用程序,实现灵活的文件管理功能。在实际应用中,还需要考虑异常处理、重试机制、文件传输进度显示等细节,以...

    java文件操作大全

    如何在Java中操作文件呢?转载供大家欣赏

    java操作文件工具类

    文件工具类java操作文件工具类java操作文件工具类java操作文件工具类java操作文件工具类

    java ftp文件操作

    包含上传、下载、删除ftp基本操作,可运行

    java操作mongodb存储文件实例

    将一系列图片文件存储到MongoDB中 java操作mongodb存储文件

    Java IO文件操作类与复制文件实例.rar

    Java IO文件操作类与复制文件实例,有关文本编辑、FileWriter文件写入、FileReade文件读娶DataStream文件数据流、BufferedReader文件暂存器、FileViewer文件浏览器、复制文件Copy等方面的操作要领,仅供学习参考。

Global site tag (gtag.js) - Google Analytics