java实现读取txt文件并以在每行以空格取数据

时间:2021-08-18 07:20:17

简单一个例子。其中正则是取消多余空格或者tab键

java" id="highlighter_94157">
?
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) {
         string filepath = explacesql.class.getresource("").getpath()+"aaa.txt"; // 文件路径
         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