您的位置:首页 > 其它

读写文件处理

2008-08-07 10:56 106 查看
package askul.business.quartz;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class FileTest {
public static void main(String[] arg) throws IOException {
// 写文件
File file = new File("D:/test.txt");
if (!file.exists()) {
file.createNewFile();
}
OutputStreamWriter writerFile = new OutputStreamWriter(
new FileOutputStream(file), "utf-8");
writerFile
.write("test" + System.getProperty("line.separator") + "test");
writerFile.close();

// 读文件
String strLine;
FileInputStream fis = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);

while ((strLine = br.readLine()) != null) {
System.out.println(strLine);
}

// CVS文件
File cvsFile = new File("D:/test.csv");
if (!cvsFile.exists()) {
cvsFile.createNewFile();
}
String line = System.getProperty("line.separator");
String[] csv = new String[6];
String header = "/"订单日期/", /"订单编号/"" + line;
csv[0] = header;
for (int i = 0; i < 5; i++) {
StringBuffer buffer = new StringBuffer();
buffer.append("2008010" + i + ",");
buffer.append("JP" + i + line);
csv[i + 1] = buffer.toString();
}

FileOutputStream fos = new FileOutputStream("D:/test.csv");
OutputStreamWriter osw = new OutputStreamWriter(fos, "GB2312");
BufferedWriter bw = new BufferedWriter(osw);

for (int i = 0; i < csv.length; i++) {
bw.write(csv[i]);
}
bw.close();

System.out.println("/"right/"");
}

}

转:

在很多时候我们都需要将一些数据集合以某种文件格式输出,其中CSV文件输出是一种比较常用的方式.
下面是一个简单的实现CSV文件输出的代码,与大家共享.

public static boolean createCsv(HttpServletResponse Response, QueryData qryData, String[][] columnName) throws Exception
{
String data = "";
SimpleDateFormat dataFormat = new SimpleDateFormat("yyyyMMddHHmm");
Date today = new Date();
String dateToday = dataFormat.format(today);
if (qryData.size() == 0 || columnName.length == 0)
return false;

data += "编号,";
for (int i = 0; i < columnName.length; i++)
{
data += columnName[i][1] + ",";
}
data += "/n";
for (int i = 0; i < qryData.size(); i++)
{
data += String.valueOf(i + 1) + ",";
for (int j = 0; j < columnName.length; j++)
{
data += qryData.getRow(i).get(columnName[j][0]) + ",";
}
data += "/n";
}
StringBuilder str = new StringBuilder();
str.append(data);
Response.setHeader("Content-Disposition", "attachment; filename=/"" + dateToday + ".csv" + "/"");
Response.setCharacterEncoding("shift-jis");
Response.setContentType("text/plain;charset=shift-jis");
PrintWriter out = Response.getWriter();
out.write(str.toString());
out.flush();
out.close();
return true;
}

---------------------------------------------------------------------------------------------------------------

public static void fileExcelOut(String fileName, String[] file, HttpServletResponse response,String extension,String charSet) throws Exception {
PrintWriter out = null;
try {
response.reset();
response.setContentType(
"text/plain; charset=/""+charSet+"/"");
response.setHeader(
"Content-Disposition",
"attachment;filename=" + getFileAllName(fileName) + "."
+ extension);
out = response.getWriter();
for (int i = 0; i < file.length; i++) {
out.println(file[i]);
}
out.close();
} catch (Exception ex) {
if (out != null) {
out.close();
}
throw ex;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: