早上好,伙计们,
我是法国人所以我没有漂亮的英语^^ 我的问题出现在我的代码中,我想用这条路径将文件移动到一个nas(“\ nas-tps \ commun-tps”)但是它不正确但Netbeans告诉我这是错误的(在我的班级Parcourir.java中JFileChooser中) 我怎么做这条道路?
我的班级parcourir:
package ged;
import java.io.File;
import java.io.IOException;
import javax.swing.JFileChooser;
/**
*
* @author Evan
*/
public class Parcourir {
public void Enregistrer() throws IOException
{
JFileChooser newdestination = new JFileChooser();
newdestination.setCurrentDirectory(new File("\\nas-tps\commun-tps"));//Chemin
newdestination.setAcceptAllFileFilterUsed(false);
newdestination.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
newdestination.setMultiSelectionEnabled(false);
newdestination.showOpenDialog(null);
int dest = newdestination.showOpenDialog(null);
if(dest == JFileChooser.APPROVE_OPTION)
{
File[] fichier02=newdestination.getSelectedFiles();
for(int t = 1; t<fichier02.length; ++t)
{
fichier02[t].getName();
fichier02[t].getAbsolutePath();
}
System.out.println("Destination choisie : " + newdestination.getSelectedFile());
}
else
{
System.out.println("Aucune destination choisie");
}
}
}
在第二次,我希望在我的代码的最后,我想用我的方法Enregistrer的路径重命名我的文件,但它对Netbeans不正确......
我的班级GED:
package ged;
import java.awt.Component;
import java.io.File;
import java.util.Scanner;
import javax.swing.JFileChooser;
/**
*
* @author Evan
*/
public class GED {
private static String Nom_Client;
private static String N_plan;
private static String ind;
private static String Reference;
private static String Typologie;
public static void main(String[] args) throws Exception {
// TODO code application logic here
System.out.println("****************** TPS Gestionnaire ******************");
System.out.println(" ");
System.out.println("Quel fichier choisissez vous ?");
JFileChooser file = new JFileChooser();
file.setFileSelectionMode(JFileChooser.FILES_ONLY);
file.setMultiSelectionEnabled(false);
int retour = file.showOpenDialog(null);
if(retour == JFileChooser.APPROVE_OPTION)
{
File[] fichier=file.getSelectedFiles();
for( int i = 1; i<fichier.length; ++i)
{
fichier[i].getName();
fichier[i].getAbsolutePath();
}
System.out.println("Fichier choisi : " + file.getSelectedFile().getName());
}
else
{
System.out.println("Aucun de fichier choisi");
}
System.out.println (" ");
System.out.println("Veuillez indiquer le nom du client");
Scanner name = new Scanner (System.in);
String Nom_Client = name.nextLine();
System.out.println("L'entreprise est: " + Nom_Client.toUpperCase());
System.out.println ("Dans quel sous doussier souhaitez vous mettre votre document ?");
System.out.println (" ");
System.out.println ("1." + " PV Contrôle ");
System.out.println ("2." + " Plan ");
Scanner sr = new Scanner (System.in);
int i = sr.nextInt();
Categorie c = new Categorie (Nom_Client.toUpperCase(),"0","0","0","0");
if (i==1)
{
c.PVControle();
}
else
{
c.Plan();
System.out.println (" Veuillez choisir la nouvelle destination du fichier");
System.out.println(" ");
Parcourir dest = new Parcourir();
dest.Enregistrer();
File source = file.getSelectedFile(); //Permet de récupérer le chemin du début
File destination = new File (dest.Enregistrer() + Nom_Client.toUpperCase()+" "+ c.getN_plan()+ " " + "Ind" + " "+ c.getind().toUpperCase() +".pdf"); // Permet d'avoir la nouvelle destination avec le fichier renommé
source.renameTo(destination); //Pas encore corrigé
System.out.println(" Votre fichier à été renommé puis déplacé");
}
}
}
我的班级分类:
package ged;
import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Scanner;
import javax.swing.JButton;
import javax.swing.JFileChooser;
/**
*
* @author Evan
*/
public class Categorie {
private String Nom_Client;
private String N_plan;
private String ind;
private String Reference;
private String Typologie;
public Categorie(String Nom_Client, String N_plan, String ind, String Reference, String Typologie) {
this.Nom_Client = Nom_Client;
this.N_plan = N_plan;
this.ind = ind;
this.Reference = Reference;
this.Typologie = Typologie;
}
public void PVControle () throws IOException{
int t = 0;
System.out.println("Vous avez choisit la catégorie PV de contrôle");
System.out.println("Veuillez indiquer la référence produit");
Scanner ref = new Scanner (System.in);
this.Reference = ref.nextLine(); //Permet de demander la reference du plan
System.out.println("Ainsi que la typologie de production");
System.out.println("1." + "TÔLES");
System.out.println("2." + "BOB");
Scanner typ = new Scanner (System.in);
this.Typologie = ref.nextLine(); //Permet de demander la typologie
if ( t == 1)
{
System.out.println (" Vous avez choisit la typologie TÔLES ");
this.Typologie = "TÔLES";
}
else
{
System.out.println(" Vous avez choisit la typologie BOB ");
this.Typologie = "BOB";
}
System.out.println("Le nom du fichier est: " +Nom_Client + " " + "REF" + " " + Reference.toUpperCase() + " " + "-" + " " + Typologie);
}
public void Plan () throws IOException {
System.out.println("Vous avez choisit la catégorie Plan");
System.out.println("Veuillez indiquer le n° Plan");
Scanner plan = new Scanner (System.in);
N_plan = plan.nextLine(); //Permet de demander le n°Plan
System.out.println ("Ainsi que l'IND");
Scanner IND = new Scanner (System.in);//Demande de l'IND
ind = IND.nextLine();
System.out.println("Le nom du fichier est: " +Nom_Client + " " + N_plan + " " + "Ind" +" " + ind.toUpperCase());
}
public String getN_plan()
{
return N_plan;
}
public String getind()
{
return ind;
}
}
你能帮帮我们吗? 这对我来说非常重要!
感谢您的理解!
答案 0 :(得分:0)
newdestination.setCurrentDirectory(new File("\\nas-tps\\commun-tps"));//Chemin
或许你忘了逃避所有反斜杠? (目前尚不清楚在路径的开头是否需要双斜线)
newdestination.setCurrentDirectory(new File("\\\\nas-tps\\commun-tps"));//Chemin
另外,据我所知,无论操作系统的具体细节如何,Java都能正常使用正斜杠作为目录标记。尝试路径"/nas-tps/commun-tps"
或"//nas-tps/commun-tps"