我正在系统上处理一个新函数,现在我需要选择一个文件,并保存在用户C:的文件夹中。这个过程是这样发生的,用户上传一个文件到系统中,这个文件可以是任何东西,文本,图像,除了视频,现在它被保存在系统数据库中,但是我的老板想要改变这个过程,所以我需要保存在用户C:上的一个特定文件夹上,我已经创建了特定文件夹,但是我不知道如何将文件保存在创建的文件夹上。因此上载文件的代码如下所示:
public void uploadArquivo(FileUploadEvent event) {
byte[] bytes = null;
try {
File targetFolder = new File(System.getProperty("java.io.tmpdir"));
if (!targetFolder.exists()) {
if (targetFolder.mkdirs()) {
FacesMessageUtil.novaMensagem("Atenção", "Não foi possível criar pasta temporária!");
return;
}
}
targetFolder.mkdirs();
OutputStream out;
try (InputStream inputStream = event.getFile().getInputstream()) {
out = new FileOutputStream(new File(targetFolder, event.getFile().getFileName()));
int read;
bytes = new byte[10485760];
while ((read = inputStream.read(bytes)) != -1) {
out.write(bytes, 0, read);
}
inputStream.close();
}
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace(System.out);
}
AnexoEmpreendimento anexo = new AnexoEmpreendimento();
anexo.setNomeArquivo(event.getFile().getFileName());
anexo.setTamanhoArquivo(event.getFile().getSize());
anexo.setArquivo(bytes);
anexos.add(anexo);
}
好吧,这取决于你实际拥有什么。web提交表单?那么你有哪一个web框架呢?DB中的一个斑点?你有哪一个DB引擎,你在Java使用哪一个DB框架与之交互,等等。
大多数库都允许您获得InputStream
或byte[]
(如果它们同时提供了这两个,则您需要输入流)。
您可以将inputstream写入文件,或将Byte[]写入文件,如下所示:
import java.nio.file.*;
public class Example {
static final Path MY_DIR = Paths.get("C:/path/to/your/dir");
void writeByteArr(byte[] data) throws IOException {
Path toWrite = MY_DIR.resolve("filename.dat");
Files.write(toWrite, data);
}
void writeInputStream(InputStream data) throws IOException {
Path toWrite = MY_DIR.resolve("filename.dat");
try (OutputStream out = Files.newOutputStream(toWrite)) {
data.transferTo(out);
}
}
}
在不太可能的情况下,您“获得”的数据既不是byte[]
格式,也不是inputstream
格式,您将不得不详细说明数据如何到达您的代码。
问题内容: 有没有一种方法可以将依赖项从pom.xml文件下载到Java中的指定文件夹?我可以从Java运行maven命令,并收到下载消息,但是我不知道maven将这些库存储在哪里?如何将这些依赖项下载到特定文件夹? 问题答案: 看一下maven的依赖插件,特别是目标。在使用一节介绍了如何做的正是你想要的。 要从命令行执行此操作,只需执行以下操作:
我有一个logger配置,它基本上将根记录器的所有日志写入一个基本日志文件。我总是使用此处。 对于我想记录的一些特定事件,请使用不同的文件。我怎么能在属性文件中配置这样一个记录器(例如给它一个名字,然后我可以从代码中引用)?
问题内容: “安装”目标将工件复制到目标目录和本地存储库。 我如何告诉Maven也将其复制 到给定目录 (例如JBoss的deploy目录)。 问题答案: maven-dependency-plugin 的目标副本可以满足您的要求,请参见示例。 但是,最好不要在目标目录之外(或精确地说)复制任何内容- 尤其是将这种操作附加到构建阶段时,因为它会引入构建的意外副作用,有时甚至会降低可重复性。 正如@
问题内容: 在Java中,是否有任何方法可以从文件中读取特定行?例如,读取第32行或任何其他行号。 问题答案: 除非你以前对文件中的行有一定的了解,否则没有阅读前31行就无法直接访问第32行。 所有语言和所有现代文件系统都是如此。 如此有效地,你只需阅读第32行,直到找到第32行为止。
问题内容: 我有一个文本文件,需要将其打印到特定的网络打印机。我知道打印机的名称。 到目前为止,我已经创建了Printable类来打印文件(票证)。 我这样称呼TicketPrintPage: 它的工作原理还不错,但是: -我的文本不多于一页(找到了一些算法,但是很好) -我不知道打印机何时完成打印,如果我尝试打印两页如果打印机连续打印了多张票证,则会返回“打印机未就绪”消息。 所以问题又来了:没
我一直在尝试应用敏感度标签并使用MIP和MailMessage发送电子邮件。 基于MipSdk-DotNet-Polury-Quickstart项目,我添加了选项元数据和,并将内容格式设置为。 计算操作后,我获得了带有mips_label键和模板 ID 的元数据。使用消息将mips_label添加到邮件。 将它们添加到电子邮件中,但收到标签时不会应用。 可以通过outlook客户端添加标签。我的方