1,编写一个程序,读取文件test.txt的内容并在控制台输出。如果源文件不存在,则显示相应的错误信息。
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
|
package src; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class Test { public static void main(String[] args) { File f = new File( "src\\test.txt" ); //文件在src名为test.txt中 try { FileReader fr = new FileReader(f); //将文件读取到内容中 int m; while ((m=fr.read())!=-){ System.out.print(( char )(m)); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } |
2,编写一个程序实现如下功能,从当前目录下的文件fin.txt中读取80个字节(实际读到的字节数可能比80少)并将读来的字节写入当前目录下的文件fout.txt中
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
|
package src; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class Test { public static void main(String[] args) { File f = new File( "src\\fin.txt" ); //src下fin.txt文件 File f = new File( "src\\fout.txt" ); //src下fout.txt文件 try { FileInputStream fis = new FileInputStream(f); FileOutputStream fos = new FileOutputStream(f); byte [] temp = new byte []; //定义一个字节数组 fis.read(temp); //读到内存中 fos.write(temp); //写到文件 fis.close(); fos.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } |
3,使用java的输入/输出流技术将一个文本文件的内容按行读出,每读出一行就顺序添加行号,并写入到另一个文件中。
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
|
package src; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class Test { public static void main(String[] args) { File f = new File( "src\\fin.txt" ); //src下fin.txt文件 File f = new File( "src\\fout.txt" ); //src下fout.txt文件 try { FileReader fr = new FileReader(f); FileWriter fw = new FileWriter(f); BufferedReader br = new BufferedReader(fr); BufferedWriter bw = new BufferedWriter(fw); String temp; int i=; while ((temp=br.readLine())!= null ){ bw.write(i+ "," +temp); bw.newLine(); //换行 i++; } bw.flush(); //把缓冲区内容写到文件 br.close(); bw.close(); br.close(); bw.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } |
4,编写一个程序,接收从键盘输入的数据,并把从键盘输入的内容写到input.txt文件中,如果输入"quit",则程序结束。
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
|
package src; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.Scanner; public class Test { public static void main(String[] args) { File f = new File( "src\\input.txt" ); try { FileWriter fw = new FileWriter(f); Scanner scanner = new Scanner(System.in); String temp; while (!((temp=scanner.nextLine()).equals( "quit" ))){ fw.write(temp); } fw.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } |
5,编写一个程序实现如下功能,文件fin.txt是无行结构(无换行符)的汉语文件,从fin中读取字符,写入文件fou.txt中,每40个字符一行(最后一行可能少于40个字)
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
|
package src; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class Test { public static void main(String[] args) { File f= new File( "src\\fin.txt" ); File f= new File( "src\\fout.txt" ); try { FileReader fr= new FileReader(f); FileWriter fw= new FileWriter(f); char temp[]= new char []; int len; while ((len=fr.read(temp))!=-) { if (len==) fw.write( new String(temp)+ "\n" ); else fw.write(temp, , len); } fr.close(); fw.close(); } catch (FileNotFoundException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } catch (IOException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } } } |