java - 无法写入文件

标签 java java-7 java-io

我编写了这段代码来从表中读取数据并将其写入文件,但我无法写入文件。文件已创建,但它是空的。我没有尝试插入注释和调试mysql问题。代码编译正常,但在创建文件时出现问题:

import java.io.File;
import java.io.FileNotFoundException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Formatter;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;

public class tabletocsv {
    public static void main(String[] args) {
        System.out.println("enter the table name");
        Scanner input = new Scanner(System.in);
        String table = input.next();
        System.out.println("enter number of columns");
        int columns = input.nextInt();
        createcsv(table, columns);
        System.out.print(" csv created");
        displaycsv(table, columns);
    }

    static void displaycsv(String table, int count) {
        Scanner file123;
        try {
            file123 = new Scanner(new File("/Users/Tannishk/Documents/csv/" + table + ".csv"));
            //System.out.printf("reading");
            while (file123.hasNext()) {
                System.out.println("going inside");
                for (int i = 1; i <= count; i++) {
                    String a = file123.next();
                    System.out.print(a + " ");
                }
                System.out.println();
            }
        } catch (FileNotFoundException ex) {
            Logger.getLogger(tabletocsv.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    static void createcsv(String table, int count) {
        Formatter x;
        Connection connection;
        Statement st;
        try {
            x = new Formatter("/Users/Tannishk/Documents/csv/" + table + ".csv");
            Class.forName("com.mysql.jdbc.Driver");
            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/db", "root", "password");
            st = connection.createStatement();
            ResultSet rs = st.executeQuery("select * from " + table + ";");
            while (rs.next()) {
                for (int i = 1; i <= count; i++) {
                    String a = rs.getString(i);
                    x.format("%s ", a);
                    // System.out.print(a);
                }
                x.format("\n");
            }
        } catch (Exception e) {

        } finally {

        }
    }
}

最佳答案

尝试刷新并关闭格式化程序

关于java - 无法写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33286337/

相关文章:

java - 2个日历实例之间的差异给出不一致的答案

java - 如何获取带有源代码的 Windows JDK 安装程序?

java - 为什么我的系统找不到我的属性文件?

Java 7 交集类型 : what exactly does the specification say?

java - Java Swing 中 GridBagLayout 的问题

java - Spring Data JPA - 一对一关系不获取依赖对象

Java - 分配按钮数组

java - 删除临时文件onexit java vm

java - Properties.load会关闭InputStream吗?

java - 视频无法播放,错误/MediaPlayerService(128)