gpt4 book ai didi

java - 在Java中通过Inputstream读取内容时删除列名

转载 作者:太空宇宙 更新时间:2023-11-04 06:25:56 25 4
gpt4 key购买 nike

我一直在尝试删除当我读取 http get 返回的响应内容时出现的列名称。

最初我使用http get来获取内容,然后使用InputStream读取该内容,然后使用FileOutputStream将其作为csv文件写入本地磁盘:

InputStream read_content = result.getEntity().getContent();
FileOutputStream writ = new FileOutputStream(new File(path));
byte[] buff = new byte[4096];
int length;
while ((length = read_content.read(buff)) > 0) {
writ.write(buff, 0, length);
}

这里result是我从http get得到的响应。这工作正常,但问题是响应还包含我想要删除的列名称

经过一些修改后,我现在正在使用此代码,但输出不正确:

           InputStream read_content = result.getEntity().getContent();

BufferedReader reader =
new BufferedReader(new InputStreamReader(read_content));

FileWriter fstream = new FileWriter(path);
BufferedWriter out = new BufferedWriter(fstream);
reader.readLine();
while (reader.readLine() != null) {
out.write(reader.read());
}

当我执行此修改后的代码时,我得到垃圾结果。我在这里做错了什么以及如何删除表列名称?

最佳答案

你的代码应该是这样的

           BufferedReader br = null       ;
BufferedWriter out = null;
try{

InputStream is = new FileInputStream(new File("C:/Space/ConnTest/Test/input.txt"));
br = new BufferedReader(new InputStreamReader(is));
out = new BufferedWriter(new FileWriter(new File("C:/Space/ConnTest/Test/output.txt")));
System.out.println("This is first line ---"+br.readLine());
String str = "";
while ((str = br.readLine()) != null) {
out.write(str);
}
System.out.println("Success");




}
catch(Exception e )
{
e.printStackTrace();
}
finally
{
if(br!=null)
{
br.close();
}
if(out!=null)
{
out.close();
}
}

不要与整个代码混淆,我刚刚将您的 out.write(reader.read()); 替换为

  while ((str = br.readLine()) != null) {
out.write(str);
}

我正在 SYSOUT 中调用 br.readLine(),因此 header 将被跳过。然后我用 br.readLine()

写入文件

关于java - 在Java中通过Inputstream读取内容时删除列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26794823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com