用FileInputStream载入文件,
然后用InputStreamReader封装FileInputStream对象,
然后用InputStreamReader的read方法读取字符串,注意字符编码问题。
读取成字符串之后, *** 作字符串,先分行,得到不同网站的数据
再在行中分段,分别检出Name、url、status部分,
然后插入数据库即可
如果会的话,字符串 *** 作可以使用正则表达式。
不会的话,就用笨办法,循环套if else来检出所需要的数据。
主要就是IO *** 作与字符串 *** 作。
/*** 文件处理方法
* @param iFile
* 输入文件对象
* @param oFile
* 输出文件对象
* @throws Exception
*/
public void process(File iFile,File oFile) throws Exception{
BufferedReader reader=new BufferedReader(new FileReader(iFile))
BufferedWriter writer=new BufferedWriter(new FileWriter(oFile))
String line=null
while((line=reader.readLine())!=null){
// line 就是你拿到的每一行
String[] arr = line.split(",")//用逗号分割,得到每一行所有的字段数组
// 然后在处理新增字段,这个也好搞
StringBuilder sb = new StringBuilder()
for(int i = 0i <arr.lengthi++) { //遍历所有字段
sb.append(arr[i]).append(",")//新的记录,字段用逗号分隔
if(i == [要插入位置的索引]) {
sb.append("我是新插的内容").append(",")
}
}
// 把最后的一个分割逗号删掉即可
。。。。。。
再写入到文件中 xxx (省略)
}
writer.flush()
writer.close()
reader.close()
}
代码如下:
import java.io.BufferedReaderimport java.io.BufferedWriter
import java.io.File
import java.io.FileInputStream
import java.io.FileNotFoundException
import java.io.FileOutputStream
import java.io.IOException
import java.io.InputStreamReader
import java.io.OutputStreamWriter
public class App {
public static void main(String[] args) throws FileNotFoundException, IOException {
try (
FileInputStream inputStream = new FileInputStream(new File("d:\\temp\\abc.txt"))
InputStreamReader streamReader = new InputStreamReader(inputStream)
BufferedReader reader = new BufferedReader(streamReader)
FileOutputStream outputStream = new FileOutputStream(new File("d:\\temp\\output.txt"))
OutputStreamWriter streamWriter = new OutputStreamWriter(outputStream)
BufferedWriter writer = new BufferedWriter(streamWriter)
) {
int count = 1
String line = null
while ((line = reader.readLine()) != null) {
writer.write(count++ + ": " + line)
writer.newLine()
}
}
System.out.println("done.")
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)