1、); / 一次读一个字节 in = new FileInputStream(file); int tempbyte; while(tempbyte=in.read() != -1) System.out.write(tempbyte); in.close(); catch (IOException e) e.printStackTrace(); return;以字节为单位读取文件内容,一次读多个字节: /一次读多个字节 byte tempbytes = new byte100; int byteread = 0; in = new FileInputStream(fileName); Read
2、FromFile.showAvailableBytes(in); /读入多个字节到字节数组中,byteread为一次读入的字节数 while (byteread = in.read(tempbytes) ! System.out.write(tempbytes, 0, byteread); catch (Exception e1) e1.printStackTrace(); finally if (in != null) catch (IOException e1) * 以字符为单位读取文件,常用于读文本,数字等类型的文件 * param fileName 文件名public static v
3、oid readFileByChars(String fileName) Reader reader = null;以字符为单位读取文件内容,一次读一个字节: / 一次读一个字符 reader = new InputStreamReader(new FileInputStream(file); int tempchar; while (tempchar = reader.read() ! /对于windows下,rn这两个字符在一起时,表示一个换行。 /但如果这两个字符分开显示时,会换两次行。 /因此,屏蔽掉r,或者屏蔽n。否则,将会多出很多空行。 if (char)tempchar) !=
4、r) System.out.print(char)tempchar); reader.close(); catch (Exception e) 以字符为单位读取文件内容,一次读多个字节: /一次读多个字符 char tempchars = new char30; int charread = 0; reader = new InputStreamReader(new FileInputStream(fileName); /读入多个字符到字符数组中,charread为一次读取字符数 while (charread = reader.read(tempchars)!=-1) /同样屏蔽掉r不显示
5、if (charread = tempchars.length)&(tempcharstempchars.length-1 !) System.out.print(tempchars); else for (int i=0; i 4) ? 4 : 0; /将读文件的开始位置移到beginIndex位置。 randomFile.seek(beginIndex); byte bytes = new byte10; /一次读10个字节,如果文件内容不足10个字节,则读剩下的字节。 /将一次读取的字节数赋给byteread while (byteread = randomFile.read(bytes
6、) ! System.out.write(bytes, 0, byteread); catch (IOException e) if (randomFile ! randomFile.close(); * 显示输入流中还剩的字节数 * param inprivate static void showAvailableBytes(InputStream in)当前字节输入流中的字节数为: + in.available();public static void main(String args) String fileName = C:/temp/newTemp.txt; ReadFromFile
7、.readFileByBytes(fileName); ReadFromFile.readFileByChars(fileName); ReadFromFile.readFileByLines(fileName); ReadFromFile.readFileByRandomAccess(fileName);二、将内容追加到文件尾部import java.io.FileWriter;* 将内容追加到文件尾部*/public class AppendToFile * A方法追加文件:使用RandomAccessFile * param content 追加的内容public static void
8、 appendMethodA(String fileName, String content) / 打开一个随机访问文件流,按读写方式 RandomAccessFile randomFile = new RandomAccessFile(fileName, rw /将写文件指针移到文件尾。 randomFile.seek(fileLength); randomFile.writeBytes(content); * B方法追加文件:使用FileWriter * param fileName * param contentpublic static void appendMethodB(Strin
9、g fileName, String content) /打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件 FileWriter writer = new FileWriter(fileName, true); writer.write(content); writer.close(); String content = new append! /按方法A追加文件 AppendToFile.appendMethodA(fileName, content); AppendToFile.appendMethodA(fileName, append end. n /显示文件内容
10、/按方法B追加文件 AppendToFile.appendMethodB(fileName, content); AppendToFile.appendMethodB(fileName, 三文件的各种操作类import java.io.*;* FileOperate.java* 文件的各种操作* author 杨彩 * 文件操作 1.0public class FileOperatepublic FileOperate()* 新建目录public void newFolder(String folderPath)tryString filePath = folderPath;filePath
11、= filePath.toString();File myFilePath = new File(filePath);if(!myFilePath.exists()myFilePath.mkdir();System.out.println(新建目录操作 成功执行catch(Exception e)新建目录操作出错e.printStackTrace();* 新建文件public void newFile(String filePathAndName, String fileContent)String filePath = filePathAndName;if (!myFilePath.crea
12、teNewFile();FileWriter resultFile = new FileWriter(myFilePath);PrintWriter myFile = new PrintWriter(resultFile);String strContent = fileContent;myFile.println(strContent);resultFile.close();新建文件操作 成功执行catch (Exception e)* 删除文件public void delFile(String filePathAndName)File myDelFile = new File(fileP
13、ath);myDelFile.delete();删除文件操作 成功执行删除文件操作出错* 删除文件夹public void delFolder(String folderPath)delAllFile(folderPath); /删除完里面所有内容if(myFilePath.delete() /删除空文件夹删除文件夹 + folderPath + 操作 成功执行 else 操作 执行失败删除文件夹操作出错* 删除文件夹里面的所有文件* param path String 文件夹路径 如 c:/fqfpublic void delAllFile(String path)File file = n
14、ew File(path);file.exists()return;file.isDirectory()String tempList = file.list();File temp = null;for (int i = 0; i tempList.length; i+)if(path.endsWith(File.separator)temp = new File(path + tempListi);elsetemp = new File(path + File.separator + tempListi);if (temp.isFile()temp.delete();if (temp.is
15、Directory()/delAllFile(path+/+ tempListi);/先删除文件夹里面的文件delFolder(path+ File.separatorChar + tempListi);/再删除空文件夹* 复制单个文件* param oldPath String 原文件路径 如:c:/fqf.txt* param newPath String 复制后路径 如:f:public void copyFile(String oldPath, String newPath)int bytesum = 0;int byteread = 0;File oldfile = new File
16、(oldPath);if (oldfile.exists()/文件存在时InputStream inStream = new FileInputStream(oldPath); /读入原文件FileOutputStream fs = new FileOutputStream(newPath);byte buffer = new byte1444;while ( (byteread = inStream.read(buffer) != -1)bytesum += byteread; /字节数 文件大小System.out.println(bytesum);fs.write(buffer, 0, byteread);inStream.close();删除文件夹操作 成功执行复制单个文件操作出错* 复制整个文件夹内容/
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1