本文实例为大家分享了Java文件操作的具体代码,供大家参考,具体内容如下
简介
本程序主要采用了FileInputStream和FileOutputStream两类对文件进行操作。具体包括通过相对路径打开文件,三种方法读取文件,查看文件属性,追加文件数据等。
效果图:
完整代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
package Code.a; import java.io.*; public class FileInputStreamDemo { public static void main(String[] args) { //获取当前目录; File f = new File( "." ); System.out.print( "absolute path:" +f.getAbsolutePath()+ "\n" ); while ( true ) { try { //输入命令; System.out.print( "Please input your order:" ); BufferedReader stdinBufferedReader; String str1 = null ; stdinBufferedReader = new BufferedReader( new InputStreamReader(System.in)); str1 = stdinBufferedReader.readLine(); //相对路径打开文件; File file2 = new File( ".\\src\\Code\\a\\Exception.java" ); FileInputStream fis2 = new FileInputStream(file2); 根据不同的命令,执行不同操作; //一次性读取全部数据 if (str1.equals( "一次性读取全部数据" )) { byte [] buf = new byte [( int )(file2.length())]; fis2.read(buf); String str = new String(buf); System.out.print(str); System.out.print( "\n" ); } //分块读取 else if (str1.equals( "分块读取" )) { int n = 1024 ,count; byte [] buf = new byte [n]; while ((count = fis2.read(buf)) != - 1 ) { System.out.print( new String(buf, 0 ,count)); } System.out.print( "\n" ); } //逐字读取数据 else if (str1.equals( "逐字读取数据" )) { for ( int i = 0 ; i < file2.length(); i++) { char ch = ( char )(fis2.read()); System.out.print(ch); } System.out.print( "\n" ); } //退出 else if (str1.equals( "退出" )) { System.out.print( "已退出\n" ); break ; } //查看文件属性 else if (str1.equals( "查看文件属性" )) { System.out.print( "If the file or catalog exists:" +file2.exists()+ "\n" ); System.out.print( "If is it a file:" +file2.isFile()+ "\n" ); System.out.print( "If is it a catalog:" +file2.isDirectory()+ "\n" ); System.out.print( "FileName:" +file2.getName()+ "\n" ); System.out.print( "absolute path:" +file2.getAbsolutePath()+ "\n" ); System.out.print( "The last time that the file was changed:" +file2.lastModified()+ "\n" ); System.out.print( "The size of the file:" +file2.length()+ " bites\n" ); } //向文件追加数据 else if (str1.equals( "文件追加数据" )) { FileOutputStream fos2 = new FileOutputStream(file2, true ); System.out.println( "Please input the content: " ); BufferedReader ContentReader; String str2 = null ; ContentReader = new BufferedReader( new InputStreamReader(System.in)); str2 = ContentReader.readLine(); fos2.write(str2.getBytes()); fos2.close(); } //关闭流对象; fis2.close(); } //处理异常; catch (FileNotFoundException fnfe) { System.out.print( "The file open unsuccessfully." ); } catch (IOException ioe) { ioe.printStackTrace(); } } } } |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/qq_43533435/article/details/109483803