Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #7370

Re: How to append "test" to a filename (after path and before extension)?

From Robert Klemme <shortcutter@googlemail.com>
Newsgroups comp.lang.java.programmer
Subject Re: How to append "test" to a filename (after path and before extension)?
Date 2011-08-25 13:02 +0200
Message-ID <9bmodmF30aU1@mid.individual.net> (permalink)
References <4e561ae9$0$7610$9b4e6d93@newsspool1.arcor-online.net>

Show all headers | View raw


On 25.08.2011 11:50, Jochen Brenzlinger wrote:
> Let's start with a filename which is stored in a String variable e.g.
>
> String fn = "D:\project\java\testproj\log2011.log"
>
> I want to append "test" to the file basename but keep path and extension.
> The resulting filename for the example above should be:
>
> string fn2 = "D:\project\java\testproj\log2011test.log"
>
> How can I do this programmatically from Java?

Typically I use regular expressions for this, here's just one way:

import java.io.File;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public final class NameMungle {

   public static void main(String[] args) {
     final String[] testData = { "a/b", "a/b/c.d", "a/b/c.d.e" };
     final String append = "test";
     final Pattern pat = Pattern.compile("([^.]*)(\\..*)");

     for (final String s : testData) {
       final File f = new File(s);
       final String basename = f.getName();
       final Matcher m = pat.matcher(basename);

       final File o = new File(f.getParentFile(),
         m.matches()
         ? m.group(1) + append + m.group(2)
         : basename + append);

       System.out.println(f + " -> " + o);
     }
   }
}

Kind regards

	robert

-- 
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

How to append "test" to a filename (after path and before extension)? jochen2@brenz.com (Jochen Brenzlinger) - 2011-08-25 09:50 +0000
  Re: How to append "test" to a filename (after path and before extension)? Robert Klemme <shortcutter@googlemail.com> - 2011-08-25 13:02 +0200
  Re: How to append "test" to a filename (after path and before extension)? Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-08-25 07:30 -0400

csiph-web