Ik krijg steeds deze uitzondering is wanneer het proberen met een film, maar het werken met een image-bestand (bmp): java.io.IOException: Failed to open file:/D:/vidz/2006-04-02.wmv. Foutbericht: De parameter is onjuist.
Kan u de code in de vraag? Ook, die OS en Java-versie gebruik je?
wat ik niet begrijp is dat het werken met beelden… hoe dan ook ik ben met behulp van Java 1.6.0.06 en hier is de code: File = new File(MoviePlay.getInstance().getBasePath(), filmpje.getPath()); try { Bureaublad.getDesktop().open(file); } catch(ex) { … }
oh en btw, bestand.bestaan() == true
Zou u probeert een bestand.getCanonicalFile() om te zien of er een verschil?
Ik krijg dit bericht: java.io.IOException: Failed to open file:/D:/vidz/2006-04-02.wmv. Foutbericht: De parameter is onjuist.
Ik weet dat het een lange tijd, maar… het probleem was mijn machine. Het standaard programma assiciation in mijn Windows XP niet ok en ik heb een probleem in andere programma ‘ s. Ik heb geprobeerd met andere machines sindsdien en deze methode werkt prima ! Geaccepteerd !
Toe te voegen aan deze oude beantwoorden; .edit() kan ook worden gebruikt als het doel van de opening is voor het bewerken. Sommige systemen hebben verschillende standaard toepassingen voor het bekijken en bewerken; .open() wordt geopend in de viewer.
File myFile =newFile("your any type of file url");FileOpen.openFile(mContext, myFile);
Het maken van een andere klasse binnen het pakket:
//code to open default application present in the handsetpublicclassFileOpen{publicstaticvoid openFile(Context context,File url)throwsIOException{//Create URIFile file=url;Uri uri =Uri.fromFile(file);Intent intent =newIntent(Intent.ACTION_VIEW);//Check what kind of file you are trying to open, by comparing the url with extensions.//When the if condition is matched, plugin sets the correct intent (mime) type, //so Android knew what application to use to open the fileif(url.toString().contains(".doc")|| url.toString().contains(".docx")){//Word document
intent.setDataAndType(uri,"application/msword");}elseif(url.toString().contains(".pdf")){//PDF file
intent.setDataAndType(uri,"application/pdf");}elseif(url.toString().contains(".ppt")|| url.toString().contains(".pptx")){//Powerpoint file
intent.setDataAndType(uri,"application/vnd.ms-powerpoint");}elseif(url.toString().contains(".xls")|| url.toString().contains(".xlsx")){//Excel file
intent.setDataAndType(uri,"application/vnd.ms-excel");}elseif(url.toString().contains(".zip")|| url.toString().contains(".rar")){//WAV audio file
intent.setDataAndType(uri,"application/x-wav");}elseif(url.toString().contains(".rtf")){//RTF file
intent.setDataAndType(uri,"application/rtf");}elseif(url.toString().contains(".wav")|| url.toString().contains(".mp3")){//WAV audio file
intent.setDataAndType(uri,"audio/x-wav");}elseif(url.toString().contains(".gif")){//GIF file
intent.setDataAndType(uri,"image/gif");}elseif(url.toString().contains(".jpg")|| url.toString().contains(".jpeg")|| url.toString().contains(".png")){//JPG file
intent.setDataAndType(uri,"image/jpeg");}elseif(url.toString().contains(".txt")){//Text file
intent.setDataAndType(uri,"text/plain");}elseif(url.toString().contains(".3gp")|| url.toString().contains(".mpg")|| url.toString().contains(".mpeg")|| url.toString().contains(".mpe")|| url.toString().contains(".mp4")|| url.toString().contains(".avi")){//Video files
intent.setDataAndType(uri,"video/*");}else{//if you want you can also define the intent type for any other file//additionally use else clause below, to manage other unknown extensions//in this case, Android will show all applications installed on the device//so you can choose which application to use
intent.setDataAndType(uri,"*/*");}
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);}}
Kunt u gebruik maken van
Bureaublad.getDesktop().open(Bestand)
. Zie de volgende vraag voor andere opties: “[Java] Hoe open user systeem preffered editor voor een bepaald bestand?“.edit()
kan ook worden gebruikt als het doel van de opening is voor het bewerken. Sommige systemen hebben verschillende standaard toepassingen voor het bekijken en bewerken;.open()
wordt geopend in de viewer.SwingHacks heeft een oplossing voor oudere versies van Java.
Ik denk dat ze gebruikt de Runtime-object voor het uitvoeren van de ‘start’ – commando op windows en is er een soortgelijke opdracht op de mac.
open
.Hier ga je:
Het maken van een andere klasse binnen het pakket: