在 Windows 命令提示符中的 Java 中加载 Main Class 时出错
Error Loading Main Class in Java in Windows Command Prompt
我正在尝试 运行 Java 中的图像压缩代码,但很长一段时间后我没有使用 IDE 来这样做,并且 运行从 windows cmd 本身获取代码。
这是我的代码:
import java.io.*;
import java.util.*;
import java.awt.image.*;
import javax.imageio.*;
import javax.imageio.stream.ImageOutputStream;
public class Compression {
public static void main(String[] args) throws IOException {
File input = new File("digital_image_processing.jpg");
BufferedImage image = ImageIO.read(input);
File compressedImageFile = new File("compress.jpg");
OutputStream os =new FileOutputStream(compressedImageFile);
Iterator<ImageWriter>writers = ImageIO.getImageWritersByFormatName("jpg");
ImageWriter writer = (ImageWriter) writers.next();
ImageOutputStream ios = ImageIO.createImageOutputStream(os);
writer.setOutput(ios);
ImageWriteParam param = writer.getDefaultWriteParam();
param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
param.setCompressionQuality(0.05f);
writer.write(null, new IIOImage(image, null, null), param);
os.close();
ios.close();
writer.dispose();
}
}
在 cmd 中,我位于 Compression.java 所在的目录中。
这是正在发生的事情:
有什么建议吗?我已经尝试了 Stack 上关于类似问题的所有建议,但其中 none 似乎对我有用。
假设您展示了完整代码,您的 class 不在包中,所以这不是问题。
您的问题可能是当前目录默认不在 class 路径中。用这个命令检查它:
set CLASSPATH
要直接 运行 您的代码,请使用:
java -cp . Compression
这将运行Java当前目录作为class路径中的唯一路径。
我正在尝试 运行 Java 中的图像压缩代码,但很长一段时间后我没有使用 IDE 来这样做,并且 运行从 windows cmd 本身获取代码。
这是我的代码:
import java.io.*;
import java.util.*;
import java.awt.image.*;
import javax.imageio.*;
import javax.imageio.stream.ImageOutputStream;
public class Compression {
public static void main(String[] args) throws IOException {
File input = new File("digital_image_processing.jpg");
BufferedImage image = ImageIO.read(input);
File compressedImageFile = new File("compress.jpg");
OutputStream os =new FileOutputStream(compressedImageFile);
Iterator<ImageWriter>writers = ImageIO.getImageWritersByFormatName("jpg");
ImageWriter writer = (ImageWriter) writers.next();
ImageOutputStream ios = ImageIO.createImageOutputStream(os);
writer.setOutput(ios);
ImageWriteParam param = writer.getDefaultWriteParam();
param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
param.setCompressionQuality(0.05f);
writer.write(null, new IIOImage(image, null, null), param);
os.close();
ios.close();
writer.dispose();
}
}
在 cmd 中,我位于 Compression.java 所在的目录中。 这是正在发生的事情:
有什么建议吗?我已经尝试了 Stack 上关于类似问题的所有建议,但其中 none 似乎对我有用。
假设您展示了完整代码,您的 class 不在包中,所以这不是问题。
您的问题可能是当前目录默认不在 class 路径中。用这个命令检查它:
set CLASSPATH
要直接 运行 您的代码,请使用:
java -cp . Compression
这将运行Java当前目录作为class路径中的唯一路径。