Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CSV中的Java数据存储_Java_Csv - Fatal编程技术网

CSV中的Java数据存储

CSV中的Java数据存储,java,csv,Java,Csv,我试图将java中的用户输入写入csv文件,但我不知道如何在单元格中输入用户名和密码,每当我运行程序时,我的新用户名和新密码就会与我的旧用户名和旧密码重叠在同一单元格中 package data1; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.PrintWriter; import java.util.Scanner; import javax.swing.JOptionPane;

我试图将java中的用户输入写入csv文件,但我不知道如何在单元格中输入用户名和密码,每当我运行程序时,我的新用户名和新密码就会与我的旧用户名和旧密码重叠在同一单元格中

    package data1;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.Scanner;
import javax.swing.JOptionPane;


 
public class Data1 {
    
    
     
    public static void main(String[] args) {
        
        String name ;
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter your name: ");
        name = sc.nextLine ();
        System.out.println("Your Name is "+name  );
        
        
        
        
        
        String filepath = "C:\\Users\\Lenovo\\OneDrive\\Desktop\\Data.csv";
        
        try
        {
            FileWriter fw = new FileWriter(filepath,true);
            BufferedWriter bw = new BufferedWriter(fw);
            PrintWriter pw = new PrintWriter(bw);
            StringBuilder sb = new StringBuilder ();
            
            String username = name;
            String password = "123";
            
            
           
                
            sb.append(username);
            sb.append(",");
            sb.append (password);
            
            
            pw.print(sb.toString());
            pw.flush();
            pw.close();
            JOptionPane.showMessageDialog(null, "Report saved");
        }
        catch(Exception E)
        {
        }
    }   
}

   

看来你有一个好的开始。我看到的问题是,您正在输出用户名和密码,因此看起来如下所示:

username,password
但是,下次运行时,您将再次打印用户名和密码,而不在前面加逗号:

username,passwordusername2,password2
                 ^ note there is no comma
您可以尝试检查CSV文件中是否已有文本,如果存在以下情况,则在新用户名和密码之前添加逗号:

username,password,username2,password2

这里有两种可能性:

  • 更改新的FileWriter(filepath,false)
  • 不要默默地抛弃任何可能的例外。如果你的代码崩溃了,你甚至都不会知道。尝试将“抛出新RuntimeException(E);”添加到异常体

  • 注意java命名约定。变量名称应以小写字符开头。在未处理异常的情况下,永远不要捕获异常。至少记录它们。你能显示你得到的输出和你期望的输出吗这是我的输出运行:输入你的名字:sam你的名字是sam BUILD SUCCESSFUL(总时间:11秒)我在excel文件中得到这个第一个输出sam 123第二个输出sam 123 sam请使用编辑按钮将格式化的信息添加到您的问题中。如果我有100个用户,注册对我来说不难一个接一个地输入。我想知道如何在这种情况下使用循环。如果我有100个用户,注册对我来说不难一个一个地输入。我想知道如何使用这种循环scenario@SathKanth那是另一个问题。您可能会对第一个用户名和密码执行与现在相同的操作(假设文件为空。否则,您将执行我前面提到的检查)。在for循环中,您将输出到文件
    、用户名、密码
    ,从第二个用户名和密码开始。注意前面的逗号。