0

私はJavaに比較的慣れていないので、何が問題なのかを理解できないようです.実際には存在しないファイルを開こうとするとエラーが発生しますが、データベースから変数を取得できません

私のコード:

    String userEnteredString = UserEntered.getText(); 
    String userHomeLocal = Tutschedule.userHome; 
    FileReader dataFile = null; 
    try {
        dataFile = new FileReader(userHomeLocal+"/Users/"+userEnteredString+".data");
    } catch (FileNotFoundException ex) {
        Logger.getLogger(LoginForm.class.getName()).log(Level.SEVERE, null, ex);
    }
    String dbData = dataFile.toString(); 
    System.out.println(dbData); 
    JSONObject dataInfo = (JSONObject)dbData.parse(dataFile); 

そして、ここに私のインポートがあります:

import java.io.*;
import java.util.Iterator;
//import java.io.FileNotFoundException;
import org.json.*;
//import java.io.FileReader; 
import java.util.logging.Level;
import java.util.logging.Logger;
import org.json.simple.parser.*; 

ここにDBに書き込む部分があります。作成したデータベースとそこにあることを確認したので、問題がないと確信しています(ユーザーをログインフォームに送る行はありません今のところユーザーを作成したい):

public class Tutschedule {

// TODO Add the MySQL Database Support 



public static String userHome; 


/**
 * @param args the command line arguments
 */
public static void main(String[] args) throws JSONException {
boolean loggedIn = false; 

if (loggedIn != true) { 
LoginForm.LoginForm(); 
}

     userHome = System.getProperty("user.home")+"/TutSchedule"; 


System.out.print(userHome); 

Scanner scan = new Scanner(System.in); 

String username = scan.next(); 
String password = scan.next(); 


JSONObject user = new JSONObject(); 
user.put("username", username);
user.put("password", password); 

boolean dirCreate; 
String directories =userHome+"/Users"; 

dirCreate = (new File(directories)).mkdirs();

try {
FileWriter userDataFile = new FileWriter(userHome+"/Users/"+username+".data");
userDataFile.write(user.toString()); 
userDataFile.flush(); 
userDataFile.close();
} catch (IOException  e) { 
e.printStackTrace(); 
}
System.out.print(user); 
}
}
4

1 に答える 1

0

これを変更する必要があるかもしれないと思います

JSONObject dataInfo = (JSONObject)dbData.parse(dataFile); 

JSONObject dataInfo = (JSONObject)JSONValue.parse(dataFile); 

dbData は String であり、parse() メソッドを持たないためです。

于 2012-11-16T17:59:22.463 に答える