File、FileItem、MultipartFile三种文件类型转换

这三种文件类型的中转都是File类型。主要实现MultipartFile转换为FileItem,过程:MultipartFile->File->FileItem。

    //MultipartFile类型转为File类型
    fileIns = multipartFile.getInputStream();
    File multoFile = new File("mulToFilePath");
    inputStreamToFile(fileIns,multoFile);
       
    //File类型转为FileItem类型
    fileItem = createFileItem(multoFile ,"itemFileName");//FileItem不用指定路径,内存形势存在。
    fileIns.close();

    /**
     * 输入流转File类型
     * @param ins
     * @param file
     */
    public static void inputStreamToFile(InputStream ins, File file) {
        try {
            OutputStream os = new FileOutputStream(file);
            int bytesRead = 0;
            byte[] buffer = new byte[8192];
            while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) {
                os.write(buffer, 0, bytesRead);
            }
            os.close();
            ins.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

补充:FileItem->File

toFile = new File(file.getOriginalFilename());
fileItem.write(toFile);

 

你可能感兴趣的:(java)