inputstream 生成多个文件? java io流 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先读到一个缓冲区里面,然后split("|")出两部分,用输出流分别写入不同文件。 刚才试了一下啊,split时入参数 要写成 splt ("\\|"), | 符号需要转义 package net.csdn.question;import java.io.FileNotFoundException;import java.io.FileWriter;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.File;import java.io.FileInputStream;import java.io.BufferedReader;import java.io.Reader;import java.io.Writer;public class FileSpliter { public static void main(String[] args) throws IOException{ InputStream is = new FileInputStream(new File("C:/123.txt")); Reader in = new InputStreamReader(is); BufferedReader br = new BufferedReader(in); StringBuffer strBuffer = new StringBuffer(); while(true){ String temp = br.readLine(); if(temp != null){ strBuffer.append(temp); }else{ br.close(); break; } } String[] content = strBuffer.toString().split("\\|"); for(int i = 0;i<content.length;i++){ File subFile = new File("c:/sub123_"+i+".txt"); if(!subFile.exists()) subFile.createNewFile(); Writer writer = new FileWriter(subFile); writer.write(content[i]); writer.flush(); writer.close(); } }}你自己在硬盘上建个测试文件,比如我代码里指定的是C:\123.txt inputstream 在 转为 stringBuffer的过程中指定编码UTF-8,还是乱码,如何解决呢? 上面代码使用的是字符流,你原始要拆分的文件里面是文本还是二进制,方便看一下不。或者你再试一下gb2312编码我之前在我本地试过的文本文件123.txt没有乱码呀 String diskPath = "c:/"; InputStream is = request.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8")); StringBuffer strBuffer = new StringBuffer(); while (true) { String temp = br.readLine(); if (temp != null) { strBuffer.append(temp); } else { br.close(); break; } } String[] content = strBuffer.toString().split("\\|"); for (int i = 0; i < content.length; i++) { boolean b = content[i].endsWith(".txt"); File subFile; if (b) { subFile = new File(diskPath + content[i]); if (!subFile.exists()) subFile.createNewFile(); } else { Writer writer = new FileWriter(new File(diskPath + content[i - 1])); writer.write(content[i]); writer.flush(); writer.close(); } } 水晶报表问题, 各位有没有统计过,在不同的操作系统上加载虚拟机需要几秒钟? jdk source 函数的值传递问题 jdbc 连接oracle10g 出错 问一道简单的题目 请问如何调用命令行程序,并保持其窗口不关闭 谁能给我个得到一幅图象的长度和宽度的方法,最好是代码.高分!! 高分求助(一个有关APPLET的问题) 请问有没有能正常显示word2000所生成的html文件的组件 java 线程 生产者和开发者模式 webservice是否提供了对文件的读取的方便支持??????
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.BufferedReader;
import java.io.Reader;
import java.io.Writer;
public class FileSpliter {
public static void main(String[] args) throws IOException{
InputStream is = new FileInputStream(new File("C:/123.txt"));
Reader in = new InputStreamReader(is);
BufferedReader br = new BufferedReader(in);
StringBuffer strBuffer = new StringBuffer();
while(true){
String temp = br.readLine();
if(temp != null){
strBuffer.append(temp);
}else{
br.close();
break;
}
}
String[] content = strBuffer.toString().split("\\|");
for(int i = 0;i<content.length;i++){
File subFile = new File("c:/sub123_"+i+".txt");
if(!subFile.exists())
subFile.createNewFile();
Writer writer = new FileWriter(subFile);
writer.write(content[i]);
writer.flush();
writer.close();
}
}
}
你自己在硬盘上建个测试文件,比如我代码里指定的是C:\123.txt
inputstream 在 转为 stringBuffer的过程中指定编码UTF-8,还是乱码,如何解决呢?
我之前在我本地试过的文本文件123.txt没有乱码呀
String diskPath = "c:/";
InputStream is = request.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is,
"UTF-8"));
StringBuffer strBuffer = new StringBuffer();
while (true) {
String temp = br.readLine();
if (temp != null) {
strBuffer.append(temp);
} else {
br.close();
break;
}
} String[] content = strBuffer.toString().split("\\|");
for (int i = 0; i < content.length; i++) { boolean b = content[i].endsWith(".txt");
File subFile;
if (b) {
subFile = new File(diskPath + content[i]);
if (!subFile.exists())
subFile.createNewFile();
} else {
Writer writer = new FileWriter(new File(diskPath
+ content[i - 1]));
writer.write(content[i]);
writer.flush();
writer.close();
}
}