|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre Expert
![]() Inscription : février 2007 Messages : 2 354 ![]() |
Bonjour,
Je voudrais savoir s'il existe un moyen simple de remplacer ponctuellement le / des séparateurs de fichiers par un \, comme sous windows. C'est pour des tests. À défaut, peut être un émulateur windows minimaliste ?... Je me contrefiche de toute la mécanique windows, ce que je voudrais, c'est lorsque je fais une recherche de fichier, quelque soit l'appel système, il me compose les chemins avec des \ comme séparateur. Merci. |
|
|
00
|
|
|
#2 | ||
![]() Inscription : mars 2004 Messages : 1 298 ![]() |
tu passe le rsultat de la recheche par la command 'tr' :
Code :
|
||
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Inscription : février 2007 Messages : 2 354 ![]() |
Oui, mais cela ne va pas, car je ne suis pas dans un contexte de script, mais dans un contexte de logiciel que je teste, et que je voudrais tester en environnement simili-windows.
Ce logiciel fait des appels systèmes pour avoir des listes de fichiers, et je voudrais que linux, au lieu de lui renvoyer des paths avec des séparateurs /, lui renvoie des séparateurs \. Pour préciser, c'est un test de programme java. |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : mars 2004 Messages : 1 051 ![]() |
salut
le problème, c'est que sous linux, les séquences d'échappement sont préfixées par \ ; ce qui fait que dans certains cas, tu auras des chemins faux
__________________
Chaval __________________ "Monsieur le chat voudriez-vous, s'il vous plait, demanda Alice, me dire de quel côté dois-je aller ? Ca dépend de l'endroit où vous voulez vous rendre, répondit le chat" Lewis Carrol |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Inscription : février 2007 Messages : 2 354 ![]() |
Cela m'est complètement égal. Je gère les cas.
Il ne s'agit absolument pas de répondre à toutes les situations possibles et imaginables mais seulement de ponctuellement faire que Linux se comporte comme si le séparateur de fichiers était \. |
|
|
00
|
|
|
#6 |
|
Membre à l'essai
![]() Inscription : avril 2007 Messages : 24 ![]() |
J'ai peur de pas avoir vraiment compris le probleme... tu veux toucher au systeme mais pas a ton programme? on fait l'inverse d'hab :o
Tes paths sont des strings non? donc t'as juste a faire un tastring.replace('/', '\'); et donner le retour a ton truc qui mange les paths... Enfin j'ai peur de pas avoir vraiment compris le probleme... mais si c'est juste de transformer tes strings facilement, ca devrait le faire. |
|
|
00
|
|
|
#7 | |
|
Membre Expert
![]() Inscription : février 2007 Messages : 2 354 ![]() |
Citation:
C'est parce que mes programmes tournent aussi bien sous windows que sous linux ou autre. Comme je développe sous Linux, que malgré toute ma vigilance il arrive que je me plante sur les schlachs, je me demandais s'il n'était pas possible de faire un windows super light sous linux. Cela semble incroyable, inconcevable, inimaginable. Ce n'est pas grave !... Je trouverai un autre biais pour mes / et mes \ et mes \\ et mes /\ et mes | et mes }. |
|
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Arnaud Développeur .NET Inscription : avril 2006 Messages : 1 343 ![]() |
Sous windows c:/ et c:\ reviennent au même il me semble, il n'y a donc pas à s'inquiéter pour les chemins, s'ils sont bons pour nunux, ils seront bons pour windows
|
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() ![]() Inscription : novembre 2005 Messages : 1 187 ![]() |
Java permet de spécifier les chemins avec / même sous Windows.
Conclusion : utilise les / partout.
__________________
We are facing a dangerous period ahead. If we do not stop, correct and change some of these wrongdoings, now, we are all going to suffer. Either things that we make will overtake us, or nature will take over. Earthquake, flood, rain, severe drought, severe winter, lightning destruction, great wind destruction; These things will warn us that we are not following the law of the great spirit. Extrait du documentaire Broken Rainbow (1985) |
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() Inscription : février 2007 Messages : 2 354 ![]() |
Mais je le sais que Java permet de mettre des \ et des / ! Ce que je souhaite est que LINUX me mette tantôt des /, tantot des \ ! C'est ça que je ne sais pas !
|
|
|
00
|
|
|
#11 | |
|
Membre Expert
![]() ![]() Inscription : novembre 2005 Messages : 1 187 ![]() |
Citation:
Dans ce cas j'ai du mal à comprendre ton problème. Tu as une solution portable qui marche sur les 2 environnement et je ne sais pour quelle raison, tu veux que Linux se comporte comme Windows ce qui est un non sens. Dans quelle contexte veut tu faire ça? Lors de la sélection d'un chemin par l'utilisateur, à l'intérieur du code de ton programme? Bref, faudrait nous expliquer un peu plus.
__________________
We are facing a dangerous period ahead. If we do not stop, correct and change some of these wrongdoings, now, we are all going to suffer. Either things that we make will overtake us, or nature will take over. Earthquake, flood, rain, severe drought, severe winter, lightning destruction, great wind destruction; These things will warn us that we are not following the law of the great spirit. Extrait du documentaire Broken Rainbow (1985) |
|
|
|
00
|
|
|
#12 |
|
Membre Expert
![]() Inscription : février 2007 Messages : 2 354 ![]() |
Coté Java, on peut mettre des / et des \. OK.
CEPENDANT, comme je travaille dans un environnement (Linux) où il n'y a que des /, il se peut que, pour une raison ou pour une autre, que je ne connais pas à l'avance (sinon c'est évidemment facile de donner la solution), en cas d'apparition d'un \, mon programme ne fonctionne plus correctement. Et ce, bien que théoriquement cela devrait marcher. Mais, la théorie ne suffit pas. Une façon de procéder serait de faire le test sous windows. Mais comme c'est assez lourd, je m'étais dit que peut être il y avait un moyen, de changer la chose sous Linux... Comme c'est un non sens, je vais pas m'entéter... je vais trouver une autre approche, et puis voilà. |
|
|
00
|
|
|
#13 |
|
Membre à l'essai
![]() Inscription : avril 2007 Messages : 24 ![]() |
hum...
t'as peur de tomber sur un /home/dev/v\'la_l\'path_pourri.txt en gros c'est ca? oO Sinon si tu veux modifier ton path... le mieux est encore de le faire dans ton java plutot que ton systeme... tu check sur quel environnement tu es, et tu agis en conséquences... Si tu veux des \ tu mets des \ et si tu veux des / tu mets des / sans te prendre la tete non? |
|
|
00
|
|
|
#14 |
|
Membre émérite
![]() |
J'ai énormément de mal à comprendre ton bloquage là. Je viens de tester sous l'explorateur Windows et que ce soit C:\Mon\Chemin\A\Moi ou C:/Mon/Chemin/A/Moi, Windows ne pose strictement aucun problème et ne dit rien ni ne se trompe. Et c'est valable à peu près partout dans ce sens, je me rappelle d'une application web programmée en PHP et testée sous Windows et Linux et lui parler à coup de / en tant que séparateur ne posait aucun problème à aucun OS, même largement moins que d'utiliser \.
De toutes façons, je crois que Java doit être capable de faire le travail que tu demandes tout seul et même s'il renvoie un chemin composé de /, j'ai la très nette impression que ça ne posera pas de problèmes à Windows. Et sinon, non, je ne vois pas comment modifier le comportement de l'OS à ce niveau là. Comme dit, au pire, tu fais un str_replace dans le sens voulu pour n'avoir au final qu'un unique séparateur de chemin à gérer en interne. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com