我正在尝试使用代码名为One项目的java复制图像,这是提供图像正确副本的代码:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.mycompany.gui;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
/**
*
* @author Emel
*/
public class NewMain {
/**
* @param args the command line arguments
*/
public static void main(String[] args)
throws FileNotFoundException, IOException
{
// TODO code application logic here
InputStream is = null;
OutputStream os = null;
is = new FileInputStream(new File("C:/Users/Emel/AppData/Local/Temp/temp8255862222083205111..png"));
os = new FileOutputStream(new File("C:/wamp64/www/PiWeb1/TeamFlags/mpmppp.png"));
byte[] buffer = new byte[1024];
int length;
while ((length = is.read(buffer)) > 0) {
os.write(buffer, 0, length);
}
}
}
当我把它放在一个主java类中时它完美地工作(它只在我运行mainclass时才有效)但是当我构建项目时,构建失败并且输出显示了这个错误:
`C:\用户\ EMEL \文件\的NetBeansProjects \ PIMOBILE \移动\ SRC \ COM \ myCompany的\ GUI \ NewMain.java:8: 错误:找不到符号import java.io.File;符号:类文件 location:包java.io C:\ Users \用户EMEL \文件\的NetBeansProjects \ PIMOBILE \移动\ SRC \ COM \ myCompany的\ GUI \ NewMain.java:9: 错误:找不到符号import java.io.FileInputStream;符号:
class FileInputStream location:package java.io C:\ Users \用户EMEL \文件\的NetBeansProjects \ PIMOBILE \移动\ SRC \ COM \ myCompany的\ GUI \ NewMain.java:10: 错误:找不到符号导入java.io.FileNotFoundException;
符号:class FileNotFoundException location:package java.io C:\ Users \用户EMEL \文档\的NetBeansProjects \ PIMOBILE \手机\ SRC \ COM \ myCompany的\ GUI \ NewMain.java:11: 错误:找不到符号导入java.io.FileOutputStream;符号:
class FileOutputStream location:package java.io C:\ Users \用户EMEL \文档\的NetBeansProjects \ PIMOBILE \手机\ SRC \ COM \ myCompany的\ GUI \ NewMain.java:25: 错误:找不到符号 抛出FileNotFoundException,IOException符号:class FileNotFoundException location:class NewMain C:\ Users \用户EMEL \文件\的NetBeansProjects \ PIMOBILE \移动\ SRC \ COM \ mycompagny \服务\ ServiceEquipe.java:38: 错误:找不到符号 is = new FileInputStream(“C:/Users/Emel/AppData/Local/Temp/temp8255862222083205111..png”); symbol:类FileInputStream位置:类ServiceEquipe C:\ Users \用户EMEL \文档\的NetBeansProjects \ PIMOBILE \手机\ SRC \ COM \ mycompagny \服务\ ServiceEquipe.java:39: 错误:找不到符号 os = new FileOutputStream(symbol:class FileOutputStream location:class ServiceEquipe C:\ Users \用户EMEL \文件\的NetBeansProjects \ PIMOBILE \移动\ SRC \ COM \ myCompany的\ GUI \ NewMain.java:31: 错误:找不到符号 is = new FileInputStream(new File(“C:/Users/Emel/AppData/Local/Temp/temp8255862222083205111..png”)); symbol:类FileInputStream位置:类NewMain C:\ Users \用户EMEL \文件\的NetBeansProjects \ PIMOBILE \移动\ SRC \ COM \ myCompany的\ GUI \ NewMain.java:31: 错误:找不到符号 is = new FileInputStream(new File(“C:/Users/Emel/AppData/Local/Temp/temp8255862222083205111..png”)); symbol:class文件位置:类NewMain C:\ Users \用户EMEL \文件\的NetBeansProjects \ PIMOBILE \移动\ SRC \ COM \ myCompany的\ GUI \ NewMain.java:32: 错误:找不到符号 os = new FileOutputStream(new File(“C:/wamp64/www/PiWeb1/TeamFlags/mpmppp.png”));符号:类 FileOutputStream位置:类NewMain C:\ Users \用户EMEL \文件\的NetBeansProjects \ PIMOBILE \移动\ SRC \ COM \ myCompany的\ GUI \ NewMain.java:32: 错误:找不到符号 os = new FileOutputStream(new File(“C:/wamp64/www/PiWeb1/TeamFlags/mpmppp.png”));符号:类 文件位置:类NewMain注: C:\ Users \用户EMEL \文档\的NetBeansProjects \ PIMOBILE \手机\ SRC \ COM \ mycompagny \服务\ ServiceEquipe.java 使用或覆盖已弃用的API。注意:重新编译 -Xlint:弃用细节。注意:C:\ Users \ Emel \ Documents \ NetBeansProjects \ PIMOBILE \ Mobile \ src \ com \ mycompagny \ Service \ ServiceEquipe.java 使用未经检查或不安全的操作。注意:重新编译 -Xlint:取消选中以获取详细信息。 11个错误
`
现在我需要将该代码块放入一个方法来回忆它,我试图以不同的方式做到这一点,但我失败了它只有在我在主类中使用它时才有效。
PS1:当我从项目中删除该主类时,构建成功。
PS2:该解决方案在普通的java项目中运行良好,所以我认为问题是由于代号为One。
我正在使用netbeans。
答案 0 :(得分:0)
java.io.File, java.io.FileInputStream, java.io.FileNotFoundException &
java.io.FileOutputStream
。
有一个很长的解释here。
有几个原因,但这些特定的API在移动设备上无法正常运行,您的应用需要与其他进程隔离运行并且访问受限/受限制。例如。在你的情况下,很明显在Android或iOS上不存在C:
路径,这两个路径都是Unix衍生产品(Linux / BSD)。
您需要使用FileSystemStorage
或Storage
,其中有一节介绍the developer guide中的内容。