2017-07-27 13 views
0

データベースからテキストファイルにデータを書き込もうとしています。データベースからJavaのファイルにデータを書き込む

テキストファイルは空のままです。私はdegにしようとした。

public void writeText() 
{ 
    try 
    { 
     Class.forName("com.mysql.jdbc.Driver"); 
    } 
    catch(Exception e) 
    { 
     e.printStackTrace(); 
    } 
    final String DB_URL ="jdbc:mysql://mis-sql.uhcl.edu/gattupalliv3940"; 
    Connection conn = null; 
    Statement stat = null; 
    ResultSet rs = null; 
    try 
    { 
     conn = DriverManager.getConnection(DB_URL,"gattupalliv3940","1552688"); 
     stat = conn.createStatement(); 
     rs = stat.executeQuery("select * from student_2"); 
     FileWriter fw = new FileWriter("data.txt"); 
     BufferedWriter bw = new BufferedWriter(fw); 
     String line =""; 
     while(rs.next()) 
     { 
      line = rs.getInt(1)+"\t"+rs.getString(2)+"\t"+rs.getDouble(3); 
      bw.write(line); 
      bw.newLine(); 
     } 
     bw.close(); 
    } 
    catch(Exception e) 
    { 
     e.printStackTrace(); 
    } 
    finally 
    { 
     try 
     { 
      conn.close(); 
      rs.close(); 
      stat.close(); 
     } 
     catch(Exception e) 
     { 
      e.printStackTrace(); 
     } 
    } 
} 
+0

なぜデータベースアクセスにJPAを使用していませんか?これはJava SEプロジェクトですか? – KG6ZVP

+0

既に問題を解決しようとしたことを述べてください。そうでなければ、いくつかの基本的なデバッグ**テクニックには巨大なピンポンがあります。最初にここに来る:コードを最小限に抑えて、問題を囲みます。あなたのファイルを書くコードは機能しますか?あなたは、すべてのSQLのものがなくても試してみましたか?あなたのコードが与えられた 'String'をファイルに書くことができるかどうかをテストするだけです。その後、データベースに実際に何かが含まれているかどうかを確認します。次に、クエリの結果が空でないかどうかを確認します。どこかにエラーがあり、それを囲んで見つけなければなりません。 – Zabuza

+0

Java EEプロジェクトです。結果セットは空ではありません。 SEプロジェクトで同じコードを試してみました。 –

答えて

0

あなたはすべてのエラーを取得されていませんし、ファイルが空の場合は、起こっことができる唯一の事はあなたの中にある(rs.next())ラインが最初にfalseを返すする必要があります。ここでは、コードです時間を過ぎて。つまり、データベースから何も取得していないということです。

実行している行と実行していない行を確認する手順はありますか。

ディレクトリを指定していないため、ファイルが期待通りの場所に書き込まれていない可能性があります。私は簡単なテストを作成し、ファイルはTomcatのディレクトリに書き出されました... \ springsource \ vfabric-tc-server-developer-2.6.4.RELEASE \ spring-insight-instance \ wtpwebapps \ Junk \ data.txt私のプロジェクトの名前はJunkです)。以下は私のコードです(データベースのものはありません)。

@RequestMapping(value="/") 
public ModelAndView test(HttpServletRequest request, HttpServletResponse response) throws IOException{ 

    writeText(request.getRealPath("data.txt")); 

    return new ModelAndView("home"); 
} 

public void writeText(String path) { 
    BufferedWriter bw = null; 
    try { 
     FileWriter fw = new FileWriter(path); 
     bw = new BufferedWriter(fw); 
     String line = "this is only a test"; 
     bw.write(line); 
     bw.newLine(); 
    } 
    catch(Exception e) { 
     e.printStackTrace(); 
    } finally { 
     if(bw != null) { 
      try { 
       bw.close(); 
      } catch (IOException e) { 
       // ignore 
      } 
     } 
    } 
} 
+0

はい。 bw.writeが実行中です.. –

関連する問題