使用Spring Boot从另一台机器读取文件

时间:2018-12-26 06:33:46

标签: spring-boot

我想使用Spring Boot从网络上的另一台计算机上读取文件,而无需从c:目录读取。

public String checkAudioFile(List<AudioTable> addfilename) {
    int count = 0;
    ObjectMapper objMap = new ObjectMapper();
    String jsonMap = null;
    Map<String, Object> audioFileMap = null;
    List<Map<String, Object>> audioFileList = null;
    List<String> notCreatedFileList = null;
    List fileList=null;

    try {
        audioFileList = new ArrayList<Map<String, Object>>();
        notCreatedFileList=new ArrayList<String>();
        fileList=new ArrayList<>();
        for (int i = 0; i < addfilename.size(); i++) {
            File folder = new File("\\\\HostName\\POC\\"+ addfilename.get(i).getAudioFilePath() + "/"
                    + addfilename.get(i).getFileName() + "." + addfilename.get(i).getAudioType());
            System.out.println(folder);
            audioFileMap = new HashMap<String, Object>();
            if (folder.isFile()) {
                count++;
                audioFileMap.put("fileNameSize", addfilename.size());
                audioFileMap.put("audioCreatedCount", count);
                audioFileMap.put("fileName", folder.getName());
            }
            else{
                System.out.println("File not Found");
                audioFileMap.put("fileNameSize", addfilename.size());
                audioFileMap.put("audioCreatedCount", count);
                notCreatedFileList.add(folder.getName());
            }

            audioFileList.add(audioFileMap);

        }
        fileList.add(notCreatedFileList);
        fileList.add(audioFileList);
        jsonMap = objMap.writerWithDefaultPrettyPrinter().writeValueAsString(fileList);
    } catch (Exception e) {
        e.printStackTrace();
    }
    return jsonMap;
}

我尝试连接其他目录,但无法从该计算机读取文件, 任何人都可以帮助我。感谢进阶

1 个答案:

答案 0 :(得分:0)

您需要使Spring Boot知道该机器,因此必须定义文件的IP和位置。请尝试以下操作。

URL url = new URL("file://192.168.1.157/home/directoryname/picture.jpg");
Image image = ImageIO.read(url); //read file in case of images

注意:不要错过URL中的file