简单一个例子。其中正则是取消多余空格或者tab键
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
|
package test4; import java.io.bufferedreader; import java.io.filereader; import java.io.ioexception; public class explacesql { public static void main(string[] args) { read(filepath); } /** * 读取内容 */ public static string read(string filepath){ bufferedreader br = null ; string line = null ; //stringbuffer buf = new stringbuffer(); try { //根据文件路径创建缓冲输入流 br = new bufferedreader( new filereader(filepath)); //filepath中是aaa.txt文件 string str = "" ; //循环读取文件的每一行,对需要修改的行进行修改,放入缓冲对象中 while ((line = br.readline()) != null ) { //设置正则将多余空格都转为一个空格 str=line+ "\r\n" ; string[] dictionary = str.split( "\\s{2,}|\t" ); for ( int i= 0 ;i<dictionary.length;i++){ str = "insert into tablename values(" + dictionary[ 0 ]+ ",'" +dictionary[ 1 ]+ "'," +dictionary[ 2 ]+ "')" ; } system.out.println(str); } } catch (exception e) { e.printstacktrace(); } finally { if (br != null ) { // 关闭流 try { br.close(); } catch (ioexception e) { br = null ; } } } return null ; } } |
java逐行读写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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
package help; import java.io.bufferedreader; import java.io.bufferedwriter; import java.io.file; import java.io.fileinputstream; import java.io.fileoutputstream; import java.io.inputstreamreader; import java.io.outputstreamwriter; import java.util.hashmap; import java.util.map; public class txtparseutils { private static final integer one = 1 ; public static void main(string[] args) { map<string, integer> map = new hashmap<string, integer>(); /* 读取数据 */ try { bufferedreader br = new bufferedreader(new inputstreamreader(new fileinputstream(new file("d:/报销.txt")), "utf-8")); string linetxt = null; while ((linetxt = br.readline()) != null) { string[] names = linetxt.split(","); for (string name : names) { if (map.keyset().contains(name)) { map.put(name, (map.get(name) + one)); } else { map.put(name, one); } } } br.close(); } catch (exception e) { system.err.println("read errors :" + e); } /* 输出数据 */ try { bufferedwriter bw = new bufferedwriter( new outputstreamwriter( new fileoutputstream( new file( "d:/结果.txt" )), "utf-8" )); for (string name : map.keyset()) { bw.write(name + " " + map.get(name)); bw.newline(); } bw.close(); } catch (exception e) { system.err.println( "write errors :" + e); } } } |
以上这篇java实现读取txt文件并以在每行以空格取数据就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/shunzi1046/article/details/54928238