java读取写入.cvs文件

1.读取文件

import java.io.BufferedReader;  
import java.io.FileReader;  

public class TestRead {  

    public static void main(String[] args) {  
        try {  
            BufferedReader reader = new BufferedReader(new FileReader("d:/cell_phone.csv"));//换成你的文件名 
            reader.readLine();//第一行信息,为标题信息,不用,如果需要,注释掉 
            String line = null;  
            while((line=reader.readLine())!=null){  
                String item[] = line.split(",");//CSV格式文件为逗号分隔符文件,这里根据逗号切分 

                String last = item[item.length-1];//这就是你要的数据了 
                //int value = Integer.parseInt(last);//如果是数值,可以转化为数值 
                System.out.println(last);  
            }  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  

}

2.写入文件

package com.mark.csv;  

import java.io.BufferedWriter;  
import java.io.File;  
import java.io.FileNotFoundException;  
import java.io.FileWriter;  
import java.io.IOException;  

public class WriteCSV {  

  public static void main(String[] args) {  
    try {  
      File csv = new File("F:/writers.csv"); // CSV数据文件 

      BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(csv,true), "GBK")); // true决定以附加的形式写入而不是覆盖,"GBK"避免中文乱码
      // 添加新的数据行 
      bw.write("\"李四\"" + "," + "\"1988\"" + "," + "\"1992\"");  
      bw.newLine();  
      bw.close();  

    } catch (FileNotFoundException e) {  
      // File对象的创建过程中的异常捕获 
      e.printStackTrace();  
    } catch (IOException e) {  
      // BufferedWriter在关闭对象捕捉异常 
      e.printStackTrace();  
    }  
  }  
}
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: @echo offSET /P var1= 请输入变量1: SET /P var2= 请输入变量2:for /f "tokens=1,2 delims=," %%a in (test.csv) do ( if %%a==%var1% and %%b==%var2% ( echo %%a,%%b ) ) ### 回答2: 编写一个批处理文件,根据给定的不同变量值,可以获取.cvs文件中相应行的内容。 @echo off setlocal enabledelayedexpansion set variable=VARIABLE_NAME set file=input.csv set line_number=0 for /f "usebackq tokens=* delims=" %%a in ("%file%") do ( set /a line_number+=1 if !line_number! equ 1 ( echo %%a ) else ( for /f "tokens=1,2* delims=," %%b in ("%%a") do ( if "%%b" equ "!variable!" ( echo %%a ) ) ) ) echo Done. 请将上述脚本保存为一个批处理文件(例如,script.bat),并将以下变量适当地替换为您的实际值: - variable:要搜索的变量名称。 - file:.csv文件的路径和名称。 - line_number:用于追踪当前处理的行号。 在脚本中,我们使用了一个 for 循环来逐行读取指定的 .csv 文件。我们使用一个计数器变量 line_number 来追踪当前正在处理的行号。如果 line_number 为 1 ,则表示当前行是 .csv 文件的标题行,会将其打印出来。对于其他行,我们使用内嵌的 for 循环和逗号(,)作为分隔符来分解行中的每个列。然后,我们检查第一列(假设变量名称在第一列)是否与 variable 变量相等,如果是,则打印出整行内容。 最后,我们打印出 "Done." 表示代码执行已完成。您可以根据需要将此代码片段嵌入到您的批处理文件中,并根据需要调整和定制。 ### 回答3: 编写一个.bat文件可以通过不同的变量获取.cvs文件中不同行的内容。下面是一个示例代码: ``` @echo off setlocal enabledelayedexpansion set /p variable=请输入变量值: for /f "tokens=*" %%a in (data.csv) do ( set line=%%a if "!line:~0,1!"=="%variable%" ( echo !line! ) ) endlocal ``` 上述代码会提示用户输入一个变量值。然后,使用`for`命令逐行读取cvs文件中的内容,并将每一行赋值给变量`line`。 在循环内部,我们判断`line`的第一个字符是否与用户输入的变量值相等,如果相等则输出该行内容。 要使用这段代码,你需要将它保存为一个以`.bat`为后缀的文件(比如`get_csv_data.bat`)。运行该文件后,它会要求你输入一个变量值,然后根据输入的变量值读取并打印符合条件的行。请注意,代码中的`data.csv`是示例cvs文件文件名,你需要将它替换为你实际使用的cvs文件名。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值