无法在Java中的特定目录中创建文件(系统找不到指定的路径)

时间:2017-08-11 09:51:27

标签: java file java-io

我的代码可以在我的计算机的D盘中创建文件,可以在此文件中写入一些信息。这里是来源

File file = new File("D:\\" + filename);
FileWriter writer = new FileWriter(file, true); 
writer.write(builder.toString());
writer.close();
System.out.println("done!");
statusText.setText("Information successfully saved!");
statusText.setForeground(Color.BLACK);

此代码工作正常,但当我尝试更改这样的文件目录时,我有异常

File file = new File("D:\\testFolder\\" + filename);

这是一个例外

IOException: D:\testFolder\2017-08-11.csv (The system cannot find the path specified)

我做错了什么或如何解决我的问题?

2 个答案:

答案 0 :(得分:2)

如果该文件夹不存在,你不能这样做...... 你将得到一个java.io.FileNotFoundException

创建文件夹firts

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    Dim rArea As Range
    Dim lCount As Long

    For Each rArea In Selection.Areas
        lCount = lCount + rArea.Rows.Count
    Next rArea

    Sheet1.Range("E1") = lCount

End Sub

import { 
    Container,
    Header,
    Content,
    Left,
    Right,
    Body,
    Title,
    Icon
} from "native-base"

export default class Seminars extends React.Component{

    render(){
        return(
            <Container style={styles.container}>
                <Header style={styles.header}>
                    <Left>
                        <Icon name='arrow-back' />
                    </Left>
                    <Body>
                        <Title>Seminars</Title>
                    </Body>
                    <Right>
                        <Icon name='menu' />
                    </Right>
                </Header>
                <Content contentContainerStyle={styles.content} >
                    <Text>Content Here</Text>
                </Content>
            </Container>
        )
    }
}
const styles = StyleSheet.create({
    container: {

    },
    header: {
        paddingRight: 15,
        paddingLeft: 15
    },
    content: {
        display: "flex",
        flex: 1,
        justifyContent: "center",
        padding: 15
    }
});

取决于父/子文件夹的深度

答案 1 :(得分:-1)

首先尝试创建目录:

            String filename = "myfile";
            File file= null;

//          Check if directory exists
            File directory = new File("D:\\testFolder\\");
            if (directory.exists() && directory.isDirectory()) {
                //create your file
                file =  new File(directory +"\\"+ filename); 
            } else {
                // Create directory
                directory = new File("C:\\testFolder\\");

                if(directory.mkdir()) {
                    System.out.println("Directory Created");
                    file =  new File(directory +"\\"+ filename); 

                } else {
                    System.out.println("Directory is not created");
                }

                // Create file
            }

            FileWriter writer = null;
            try {
                writer = new FileWriter(file, true);
                writer.write(builder.toString());
                writer.close();
                System.out.println("done!");
                statusText.setText("Information successfully saved!");
                statusText.setForeground(Color.BLACK);
            } catch (IOException e) {
                e.printStackTrace();
            }