我可以使用 FileInputStream 而不在一开始就给它一个路径吗
Can I use FileInputStream without giving it a path right at the start
我正在尝试将文件上传到数据库(具体来说是 .mp4 文件)。但是,当我 运行 我的代码时,文件路径尚未选择,因为在程序中会弹出一个 window,您可以在其中 select 您要上传的文件。有办法实现吗?
我在使用 FileInputStream 时遇到的问题是它在我的程序开始时要求提供文件路径,但此时路径仍然不确定。
你好 Pygesux
这是我尝试插入数据库的地方
public void draw() {
open.draw();
openText.draw();
if (video != null) {
upload.draw();
uploadText.draw();
}
}
public void mouseClick() {
if (open.mouseOverMe()) {
selectInput("Select a file to process:", "fileSelected");
} else if (upload.mouseOverMe()) {
uploadFile();
}
}
public void fileSelect(File selection) {
video = selection;
}
public void uploadFile() {
try {
con = database.getConnect();
java.sql.PreparedStatement statement = con.prepareStatement("INSERT INTO filmpje (filmpje) VALUES (?)");
FileInputStream input = new FileInputStream(video);
statement.setBlob(1, input);
statement.executeUpdate();
}
catch (SQLException e) {
e.printStackTrace();
}
}
为什么选择路径后不创建FileInputStream?
创建一个方法,获取路径,然后创建 FileInputStream,并执行其他工作。在你知道你的路径后调用此方法,在用户输入它并按 button/enter 接受(这是你的应用程序逻辑)。
我认为您正在尝试使用 selectInput()
对吗?参考示例不是很清楚。当用户选择一个文件时,该程序继续 运行,因此如果您尝试 运行 需要文件名的代码,则会出现错误。这是一个测试文件是否已设置的示例。您需要根据您的特定需求更新它:
String input;
void setup() {
size(500,200);
selectInput("Select a file...", "fileSelector");
}
void draw() {
background(255);
fill(0);
noStroke();
if (input == null) {
text("No file selected.", 20,height/2);
}
else {
text(input, 20,height/2);
}
}
void fileSelector(File selection) {
if (selection == null) {
// window closed or user hit cancel button
}
else {
input = selection.getAbsolutePath();
}
}
我正在尝试将文件上传到数据库(具体来说是 .mp4 文件)。但是,当我 运行 我的代码时,文件路径尚未选择,因为在程序中会弹出一个 window,您可以在其中 select 您要上传的文件。有办法实现吗?
我在使用 FileInputStream 时遇到的问题是它在我的程序开始时要求提供文件路径,但此时路径仍然不确定。
你好 Pygesux
这是我尝试插入数据库的地方
public void draw() {
open.draw();
openText.draw();
if (video != null) {
upload.draw();
uploadText.draw();
}
}
public void mouseClick() {
if (open.mouseOverMe()) {
selectInput("Select a file to process:", "fileSelected");
} else if (upload.mouseOverMe()) {
uploadFile();
}
}
public void fileSelect(File selection) {
video = selection;
}
public void uploadFile() {
try {
con = database.getConnect();
java.sql.PreparedStatement statement = con.prepareStatement("INSERT INTO filmpje (filmpje) VALUES (?)");
FileInputStream input = new FileInputStream(video);
statement.setBlob(1, input);
statement.executeUpdate();
}
catch (SQLException e) {
e.printStackTrace();
}
}
为什么选择路径后不创建FileInputStream?
创建一个方法,获取路径,然后创建 FileInputStream,并执行其他工作。在你知道你的路径后调用此方法,在用户输入它并按 button/enter 接受(这是你的应用程序逻辑)。
我认为您正在尝试使用 selectInput()
对吗?参考示例不是很清楚。当用户选择一个文件时,该程序继续 运行,因此如果您尝试 运行 需要文件名的代码,则会出现错误。这是一个测试文件是否已设置的示例。您需要根据您的特定需求更新它:
String input;
void setup() {
size(500,200);
selectInput("Select a file...", "fileSelector");
}
void draw() {
background(255);
fill(0);
noStroke();
if (input == null) {
text("No file selected.", 20,height/2);
}
else {
text(input, 20,height/2);
}
}
void fileSelector(File selection) {
if (selection == null) {
// window closed or user hit cancel button
}
else {
input = selection.getAbsolutePath();
}
}