File 我们需要什么类型的接口来读取上传文件的文件扩展名,然后调用必要的java文件
我们需要什么类型的接口来读取上传文件的文件扩展名,然后调用必要的java文件。例如:如果您上传了“hello.pdf”,那么它将调用pdf.java(这将清除元数据)。我不知道这是否清楚,但是,如果你明白我的意思,请告诉我。要想知道扩展名相当简单,请调用java.io.File.getName()。这将返回完整的文件名加上扩展名。使用诸如.lastIndexOf(“.”)和substring之类的字符串操作来获取扩展名 现在,您可以定义一个用于清除元数据的接口:File 我们需要什么类型的接口来读取上传文件的文件扩展名,然后调用必要的java文件,file,file-upload,interface,upload,File,File Upload,Interface,Upload,我们需要什么类型的接口来读取上传文件的文件扩展名,然后调用必要的java文件。例如:如果您上传了“hello.pdf”,那么它将调用pdf.java(这将清除元数据)。我不知道这是否清楚,但是,如果你明白我的意思,请告诉我。要想知道扩展名相当简单,请调用java.io.File.getName()。这将返回完整的文件名加上扩展名。使用诸如.lastIndexOf(“.”)和substring之类的字符串操作来获取扩展名 现在,您可以定义一个用于清除元数据的接口: public interface
public interface MetaDataEraseable {
public void clearMetaData();
}
接下来创建一些实现:
public class PDFMetaDataEraser implements MetaDataEraseable {
public void clearMetaData() { //... do custom pdf code here }
}
public class JpegMetaDataEraser implements MetaDataEraseable {
public void clearMetaData() { //... do custom jpeg code here }
}
接下来,您可以创建一个工厂,该工厂将根据扩展返回正确的实例:
公共静态类元数据工厂{
public MetaDataEraseable getInstance(String ext) {
if(ext.equalsIgnoreCase("pdf")) {
return new PDFMetaDataEraser ();
} else if(ext.equalsIgnoreCase("jpg")) {
return new JpegMetaDataEraser ();
}
}
}
最后在应用程序中调用代码
File uploadedFile = //get the file however you want... web upload, file chooser etc
String extension = //write the logic for getting the extension
MetaDataEraseable mde = MetaDataFactory.getInstance(extension);
mde.clearMetaData();
根据您的需求,实现和接口定义可能会有所不同。例如,您可以将文件作为参数传递给clearMetaData()方法
如果您不熟悉这种方法,也请阅读。谷歌“工厂模式java”获取以java为中心的示例。Googlw“java获取文件扩展名”帮助您找到在java中获取文件扩展名的代码示例
祝你好运 能不能请你“安静下来”?