2015-11-01 50 views
1

我有一個問題,希望找到解決方案。使用文本文件在java中更改用戶帳戶的密碼?

現在我已經創建了一個簡單的程序,使用java中的文本文件更改用戶帳戶的密碼。

現在我應該輸入帳戶的用戶名,然後更改該帳戶的密碼,但它在那裏顯示我一個錯誤。

這裏是我的代碼:

import java.io.BufferedWriter; 
import java.io.File; 
import java.io.FileWriter; 
import java.io.IOException; 
import java.util.Objects; 
import java.util.Scanner; 

public class Test6 { 
public static void main(String[] args)throws IOException { 

    String newPassword=null; 
    boolean checked = true; 

File f= new File("C:\\Users\\فاطمة\\Downloads\\accounts.txt");// path to your file 
File tempFile = new File("C:\\Users\\فاطمة\\Downloads\\accounts2.txt"); // create a temp file in same path 
BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); 
Scanner sc = new Scanner(f); 
System.out.println("Enter account username you want to edit password?"); 
Scanner sc2 = new Scanner(System.in); 
String username = sc2.next(); 
while(sc.hasNextLine()) 
{ 
    String currentLine= sc.nextLine(); 
    String[] tokens = currentLine.split(" "); 
    if(Objects.equals(Integer.valueOf(tokens[0]), username) && checked) 
    { 
     sc2.nextLine();       
     System.out.println("New Password:"); 
     newPassword= sc2.nextLine(); 
     currentLine = tokens[0]+" "+newPassword; 
     checked = false; 
    } 
    writer.write(currentLine + System.getProperty("line.separator")); 

} 
writer.close(); 
sc.close(); 
f.delete(); 
boolean successful = tempFile.renameTo(f); 

} 
} 

錯誤表明我:

Exception in thread "main" java.lang.NumberFormatException: For input string: "HAMADA" 
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) 
at java.lang.Integer.parseInt(Integer.java:580) 
at java.lang.Integer.valueOf(Integer.java:766) 
at Test6.main(Test6.java:25) 

我的文本文件的格式是這樣的:上線

HAMADA 115599 
JOHNY 4477100 

回答

2

變化Integer.valueOf(tokens[0]) 25到tokens[0]

在您的代碼中,當您應該獲取其String表示形式時,嘗試獲取用戶名的整數值。你不需要Integer.valueOf()。 (錯誤是因爲您試圖獲取非整數類型的Integer表示而引發的。)

在附註中,您不應該有密碼存儲文本文件,特別是當密碼和文件都是加密。改用數據庫。

+0

它的工作原理,感謝兄弟:) –

+1

@BeginnerProgrammer沒問題。我很高興它幫助! –

相關問題